您的位置:首页 > 其它

storm集群的配置与启动

2014-02-16 20:14 148 查看
配置

storm在conf/storm.yaml包含了一些配置信息。

storm.zookeeper.servers:
- "10.16.15.6"
storm.zookeeper.port: 2181
storm.local.dir: "/tmp/storm/"
nimbus.host: "10.16.15.3"
ui.port: 8999
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703


storm.zookeeper.servers/port:配置storm集群使用的zookeeper集群的地址/端口
storm.local.dir:Nimbus和Supervisor在本地磁盘上的状态缓存信息(jar包, 配置文件等)
nimbus.host:Nimbus机器的地址
ui.port: 用于storm ui的端口

supervisor.slots.ports:机器上运行的进程及每个进程使用的端口

storm
UI 默认端口是8080,当该端口已被占用时,需要在storm.yaml中显式指定


启动

源码storm是一个fail-fast系统,出现什么不可预知的错误的时候它都会退出的。如果Nimbus和Supervisor重启的话,不会影响正在运行的topology。

zookeeper:在zookeeper的机器上启动进程,/usr/local/zookeeper/bin/zkServer.sh start
Nimbus:在Nimbus机器上启动进程,sudo ~/luyongjing/storm-0.8.1/bin/storm nimbus
Supervisor:在每台Supervisor机器上启动进程,sudo ~/luyongjing/storm-0.8.1/bin/storm supervisor
Storm UI:storm UI是一个监控storm运行状态的网页,bin/storm ui,访问地址: http://{nimbus.host}:ui.port/。
也可以将上述命令写成一个简单的脚本。

在每次启动前,先杀死storm相关进程:ps aux|grep storm|grep root|awk '{print $2}'|xargs sudo kill。然后将进程从后台启动,例如:sudo nohup ~/luyongjing/storm-0.8.1/bin/storm nimbus &

若出现“kill xxxx: 没有那个进程”,删除storm.local.dir中的supervisor缓存文件,重新启动即可。出现该问题是由于上一次Supervisor的异常终止,例如断电等

编译

使用maven编译storm_starter源码

下载:git clone https://github.com/nathanmarz/storm-starter.git

编译:sudo mvn -f m2-pom.xml compile

打包:sudo mvn -f m2-pom.xml package

删除:sudo mvn -f m2-pom.xml clean

mvn -f 表示强制使用 m2-pom来编译


运行

向storm集群提交storm_starter中的example

提交topology:sudo storm jar storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.WordCountTopology WordCount

终止[b]topology:[/b]storm kill WordCount
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: