Twitter Storm安装配置(单机版)
storm的官方安装说明(e文):https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster
?
storm的安装分为单机版和集群版,只是配置稍微有点区别,大致一样。
?
要使用storm首先要安装以下工具:
?
python、zookeeper、zeromq、jzmq、storm
?
第一步,安装Python2.7.2
?wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
?tar zxvf Python-2.7.2.tgz
?cd Python-2.7.2
?./configure
?make
?make install
?vi /etc/ld.so.conf
?追加/usr/local/lib/
?sudo ldconfig
?
第二步,安装zookeeper??
wget http://labs.mop.com/apache-mirror/zookeeper/zookeeper-3.3.5/zookeeper-3.3.5.tar.gz
?tar -zxvf zookeeper-3.3.5.tar.gz?
cp -R zookeeper-3.3.5 /usr/local/
?ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper
?vim /etc/profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin)?
export ZOOKEEPER_HOME="/path/to/zookeeper"
?export PATH=$PATH:$ZOOKEEPER_HOME/bin
?cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)
?mkdir /tmp/zookeeper
?mkdir /var/log/zookeeper
?zookeeper的单机安装已经完成了。
?
第三步,安装zeromq以及jzmq
?jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。
?1)安装zeromq:
?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
?make
?make install
?sudo ldconfig (更新LD_LIBRARY_PATH)
?zeromq安装完成。
?注意:如有有依赖报错,需要安装:
?jzmq dependencies 依赖包
?sudo yum install uuid*
?sudo yum install libtool
?sudo yum install libuuid?
sudo yum install libuuid-devel
?2)安装jzmq
?yum install git?
git clone git://github.com/nathanmarz/jzmq.git
?cd jzmq
?./autogen.sh
?./configure
?make
?make install
?然后,jzmq就装好了.
?注意:在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决
第四步,安装Storm
?wget http://cloud.github.com/downloads/nathanmarz/storm/storm-0.8.1.zip
?unzip storm-0.8.1.zip
?mv storm-0.8.1 /usr/local/
?ln -s /usr/local/storm-0.8.1/ /usr/local/storm
?vim /etc/profile
?export STORM_HOME=/usr/local/storm-0.8.1
?export PATH=$PATH:$STORM_HOME/bin
?到此为止单机版的Storm就安装完毕了。
?
第五步,测试一下本地模式的WordCount
?下载storm-starter 编译,并导入eclipse 工程:
?1. 下载strom starter的代码 git clone https://github.com/nathanmarz/storm-starter.git
?2. 使用mvn -f m2-pom.xml package 进行编译
?3. 复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml
?4. 使用mvn eclipse:eclipse编译成eclipse工程
?5. 在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,
?M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New
?输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了
?6. 编译无误后,现在本地跑storm.starter目录下的WordCountTopology
?使用eclipse的export功能导出项目的jar包,便于以后分布式的情况下,提交相应的逻辑
?
Strom-Starter构建失败,缺少twitter4j包 的解决办法:
?修改Storm-Starter的pom文件m2-pom.xml ,修改dependency中twitter4j-core 和 twitter4j-stream两个包的依赖版本,如下:
?<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>