Storm单机版的安装与测试

一、安装Python
 
二、安装zookeeper
 
三、安装zeromq以及jzmq
jzmp的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。
1、安装zeromq:
 
jzmq dependencies 依赖包
sudo yum install uuid*
sudo yum install libtool
sudo yum install libuuid 
sudo yum install libuuid-devel
 
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安装完成。
 
2、安装jzmq
yum install git
cd jzmq
./autogen.sh
./configure
make
sudo make install
 
四、安装storm
unzip storm-0.8.2.zip
cd storm-0.8.2.zip
设置环境变量
vi /etc/profile.d/java.sh
export STORM_HOME=/usr/local/storm-0.8.2
export PATH=$PATH:$STORM_HOME/bin
手动立即生效
source /etc/profile
 
配置storm
文件在/usr/local/storm-0.8.2/conf/storm.yaml
内容:
 storm.zookeeper.servers:
 - 127.0.0.1
 storm.zookeeper.port:2181
 nimbus.host: "127.0.0.1"
 storm.local.dir: "/tmp/storm"
 supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703
 
配置时一定要注意在每一项的开始时要加空格,冒号后也必须要加空格,否则storm就不认识这个配置文件了。
storm.local.dir:表示storm需要用到的本地目录。
nimbus.host:表示那一台机器是master机器,即nimbus。
storm.zookeeper.servers:表示哪几台机器是zookeeper服务器。
storm.zookeeper.port表示zookeeper的端口号,这里一定要与zookeeper配置的端口号一致,否则会出现通信错误。
 
运行:
# bin/storm nimbus&(启动主节点)
# bin/storm supervisor&(启动从节点)
执行命令:
# storm jar StormStarter.jar storm.starter.WordCountTopology test
此命令的作用就是用storm将jar发送给storm去执行,后面的test是定义的toplogy名称。
# bin/storm ui
启动ui,可以通过浏览器,ip:8080/ 查看运行情况。
如果8080端口被占用会报错,修改storm-ui的端口,ui.port: 81
 
五、测试一下本地模式的WordCount
Github里有一个例子storm_starter,可以用它来做测试。
按照http://github.com/nathanmarz/storm-starter ,执行这个程序需要用lein,我们用eclipse代替lein。打包后进行上传。
1) 安装twitter4j
# mkdir twitter4j
# cd twitter4j
# wget http://twitter4j.org/en/twitter4j-2.2.5.zip
# unzip twitter4j-2.2.5.zip
2)追加源文件storm-start/src/jvm/storm
使用eclipse建立java project。追加twitter4j和storm的jar文件。
File-> New -> Java Project ->随便取个名字-> Next -> Libraries -> add External JARs...-> 追加commons-collections-3.2.1.jar、twitter4j和storm的jar文件(/path/to/twitter4j/lib/*.jar和/path/to/storm/lib/*.jar和/path/to/storm/storm-{version}.jar)-> Finsh
导入storm-start
File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/src/jvm/storm -> Browse(Info floder)  -> xxx -> src -> OK -> “storm” 和 “Create top-level folder”前打勾 -> Finish
完成之后如图:
3)追加源文件storm-start/multilang/resources×(python 文件word count用)
File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/multilang/resources -> Browse(Info floder)  -> xxx -> OK -> check “resources” and “Create top-level folder” -> Finish
2个源文件都追加好之后,eclipse左边显示如下图:
4)JAR export
File -> Export -> JAVA -> JAR file -> 取消 “.classpath” ,“.project” 和 “<.settings” ->的勾 browse -> path/to/export/name.jar -> Finish (忽视 warnings)
5)上传刚才打包编译的jar包,执行文件。
# storm jar StormStarter.jar storm.starter.WordCountTopology
如果出现类似下面的文字,说明运行成功!
....
11367 [Thread-25] INFO  backtype.storm.daemon.task  - Emitting: class storm.starter.ExclamationTopology$ExclamationBolt source: 2:3, stream: 1, id: {}, [golda!!!]
....
如果看到有Emitted等数据,就说明我们正确地完成了配置。
原文地址:https://www.cnblogs.com/jingyunyb/p/3408039.html