1,install zeromq

期间可能出现:configure: error: cannot link with -luuid, install uuid-dev. 因此可以先安装

sudo apt-get install uuid*
sudo apt-get install libtool
wget http://download.zeromq.org/zeromq-2.2.0.tar.gz
tar zxf zeromq-2.2.0.tar.gz 
cd zeromq-2.2.0
./configure

2, install git

git-1.8.3.tar.gz
tar zxvf git-1.8.3.tar.gz
cd git-1.8.3
make && sudo make install

3,install jzmq

git clone git://github.com/nathanmarz/jzmq.git
./autogen.sh
./configure
make && sudo make install

4, install storm

4.1,download zip unzip

wget http://cloud.github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
unzip storm-0.8.1.zip
cd storm-0.8.1

4.2,配置Storm变量

vim /etc/profile
   #    storm 
export STORM_HOME=/home/hadoop/bigdata/storm-0.8.1/
export PATH=$PATH:$STORM_HOME/bin
. /etc/profile

4.3,storm的配置:storm.yaml

关于这个配置文件实在的有点蛋疼,居然空格都包含在内,如果你在":"号后面没有空格那就 蛋疼了,不断折腾之后,这个勉强可以配置好了。

storm.zookeeper.servers: 
     - "127.0.0.1"
storm.zookeeper.port: 2182
nimbus.host: "127.0.0.1"
storm.local.dir: "/home/hadoop/bigdata/storm-0.8.1/data/stor_mdir"
supervisor.slots.ports:
  - 6700
  - 6701
  - 6702
  - 6703

ui.port: 10010

5,storm-starter

svn co https://github.com/nathanmarz/storm-starter/trunk storm-starter
cd storm-starter
mvn -f m2-pom.xml package
cp m2-pom.xml pom.xml

5.1,需要对pom文件的依赖做相应修改,注释掉:

<!--
<repository>
    <id>twitter4j</id>
    <url>http://twitter4j.org/maven2</url>
</repository>
-->

并将

<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-core</artifactId>
    <version>2.2.6-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-stream</artifactId>
    <version>2.2.6-SNAPSHOT</version>
</dependency>

改为

<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-core</artifactId>
    <version>2.2.6</version>
</dependency>
<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-stream</artifactId>
    <version>2.2.6</version>
</dependency>

也可以参考参考网上的,改为

<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-core</artifactId>
    <version>[2.2,)</version>
</dependency>
<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-stream</artifactId>
    <version>[2.2,)</version>
</dependency>

原因是:作者使用的是twitter的库,注释掉后不存在2.2.6.snapshot版本的相应依赖。

5.2,编译storm-starter:

mvn -f m2-pom.xml package

如果是生成eclipse工程:

cp m2-pom.xml pom.xml
mvn eclipse:eclipse