First off, let’s install some basic software that we’ll need. You may have versions of these installed already, so you may be able to skip some of these steps.
$ sudo apt-get install g++
$ sudo apt-get install uuid-dev
$ sudo apt-get install git
INSTALL JAVA
Now we’ll need to install Java. This is a painful process to do manually, but fortunately there is a way to do it with apt-get:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-jdk7-installer
$ update-alternatives –display java
Next you’ll need to add JAVA_HOME to your /etc/environment file. Add:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
to the end of the file and save.
INSTALL MAVEN
We’re making progress, but still not done. We need to install software called Maven to manage the build process. Fortunately this can be managed with apt-get:
$ sudo apt-cache search maven
$ sudo apt-get install maven
I ran into a broken installer when I tried this, at least it didn’t build properly on Ubuntu 13.04, so I had to fix the installer this way:
$ sudo dpkg -i –force-all /var/cache/apt/archives/libwagon2-java_2.2-3+nmu1_all.deb
$ sudo apt-get install maven
now, test the Maven install:
$ mvn –version
INSTALL STORM
Now, the moment we think we’ve been waiting for, the storm installation. We’re going to do this in a very quick way. The first step is to download the latest version from http://storm-project.html/downloads.html
Unzip that file, rename the directory to storm, and move it to your desired location. Change to that directory and install 0MQ (a low-level socket interface used for distributed message passing):
$ ./bin/install_zmq.sh
You’ll probably want to add the storm/bin directory to your path.
TEST STORM WITH THE SAMPLE PROJECT
We’re going to need something called Leiningen to build this sample project. You can install it by running:
$ wget -O ~/bin/lein https://raw.github.com/technomancy/leiningen/stable/bin/lein
$ chmod 755 ~/bin/lein
You’ll need to make sure that ~/bin is in your PATH.
Here I will assume you installed storm into /opt/storm/ .. so create a directory for storm projects and change to it
$ git clone http://github.com/nathanmarz/storm-starter
$ cd storm-starter
$ lein deps
$ lein compile
$ lein jar$ cd target
$ java -cp /opt/storm/lib/*:/opt/storm/storm-0.8.2.jar:storm-starter-0.0.1-SNAPSHOT.jar storm.starter.ExclamationTopology
that should run for a while