Apache Storm http://storm.apache.org/
安裝
- 備份
mv /export/servers/storm/conf/storm.yaml /export/servers/storm/conf/storm.yaml.bak 修改
vi /export/servers/storm/conf/storm.yaml#指定storm使用的zk集羣 storm.zookeeper.servers: - "node1" - "node2" - "node3" #指定storm本地狀態保存地址 storm.local.dir: "/home/ning/data/storm" #指定storm集羣中的nimbus節點所在的服務器 nimbus.host: "node1" #指定nimbus啓動JVM最大可用內存大小 nimbus.childopts: "-Xmx1024m" #指定supervisor啓動JVM最大可用內存大小 supervisor.childopts: "-Xmx1024m" #指定supervisor節點上,每個worker啓動JVM最大可用內存大小 worker.childopts: "-Xmx768m" #指定ui啓動JVM最大可用內存大小,ui服務一般與nimbus同在一個節點上。 ui.childopts: "-Xmx768m" #指定supervisor節點上,啓動worker時對應的端口號,每個端口對應槽,每個槽位對應一個worker supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
分發
scp -r /home/ning/app/storm node2:/ning/app
啓動
在nimbus.host所屬的機器上啓動 nimbus服務 cd /export/servers/storm/bin/ nohup ./storm nimbus & 在nimbus.host所屬的機器上啓動ui服務 cd /export/servers/storm/bin/ nohup ./storm ui & 在其它個點擊上啓動supervisor服務 cd /export/servers/storm/bin/ nohup ./storm supervisor &
訪問nimbus.host:/8080,即可看到storm的ui界面
Storm常用操作命令
有許多簡單且有用的命令可以用來管理拓撲,它們可以提交、殺死、禁用、再平衡拓撲。
提交任務命令格式:
storm jar 【jar路徑】 【拓撲包名.拓撲類名】 【拓撲名稱】
bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount
殺死任務命令格式:
storm kill 【拓撲名稱】 -w 10(執行kill命令時可以通過-w [等待秒數]指定拓撲停用以後的等待時間)
storm kill topology-name -w 10
停用任務命令格式:
storm deactivte 【拓撲名稱】
storm deactivte topology-name
我們能夠掛起或停用運行中的拓撲。當停用拓撲時,所有已分發的元組都會得到處理,但是spouts的nextTuple方法不會被調用。銷燬一個拓撲,可以使用kill命令。它會以一種安全的方式銷燬一個拓撲,首先停用拓撲,在等待拓撲消息的時間段內允許拓撲完成當前的數據流。
啓用任務命令格式:
storm activate【拓撲名稱】
storm activate topology-name
重新部署任務命令格式:
storm rebalance 【拓撲名稱】
storm rebalance topology-name
再平衡使你重分配集羣任務。這是個很強大的命令。比如,你向一個運行中的集羣增加了節點。再平衡命令將會停用拓撲,然後在相應超時時間之後重分配工人,並重啓拓撲。