Storm 安裝部署
部署Storm集群需要依次完成的安裝步驟:
? ? ? ? 1.安裝jdk6及以上版本;
2. 搭建Zookeeper集群;
3. 安裝Storm依賴庫;
4. 下載并解壓Storm發布版本;
5. 修改storm.yaml配置文件;
6. 啟動Storm各個后臺進程。
——————————————————————————————————————
需要在Nimbus和Supervisor機器上安裝Storm發行版本。
1. 下載Storm發行版本:
wget https://github.com/downloads/nathanmarz/storm/storm-0.9.2.zip?
2. 解壓到安裝目錄下:
unzip storm-0.9.2.zip?
修改storm.yaml配置文件conf/storm.yaml
conf/storm.yaml中的配置選項將覆蓋defaults.yaml中的默認配置。
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:
storm.zookeeper.servers:?
- “111.222.333.444″?
- “555.666.777.888″?
如果Zookeeper集群使用的不是默認端口,那么還需要storm.zookeeper.port選項。
2) storm.local.dir: Nimbus和Supervisor進程用于存儲少量狀態,如jars、confs等的本地磁盤目錄,需要提前創建該目錄并給以足夠的訪問權限。然后在storm.yaml中配置該目錄,如:
storm.local.dir: "/home/admin/storm/workdir"?
注意事項:
啟動Storm后臺進程時,需要對conf/storm.yaml配置文件中設置的storm.local.dir目錄具有寫權限。
storm后臺進程被啟動后,將在Storm安裝部署目錄下的logs/子目錄下生成各個進程的日志文件。
經測試,Storm UI必須和Storm Nimbus部署在同一臺機器上,否則UI無法正常工作,因為UI進程會檢查本機是否存在Nimbus鏈接。
為了方便使用,可以將bin/storm加入到系統環境變量中。
至此,Storm集群已經部署、配置完畢,可以向集群提交拓撲運行了。
——————————————————————————————————————
storm.zookeeper.root
Storm在zookeeper集群中的根目錄,默認是“/”
topology.workers
每個Topology運行時的worker的默認數目,若在代碼中設置,則此選項值被覆蓋
storm.zookeeper.servers
zookeeper集群的節點列表
storm.local.dir
Storm用于存儲jar包和臨時文件的本地存儲目錄
ui.port ??
Storm集群的UI地址端口號,默認是8080
nimbus.host:
Nimbus節點的host
supervisor.slots.ports
Supervisor節點的worker占位槽,集群中的所有Topology公用這些槽位數,即使提交時設置了較大數值的槽位數,系統也會按照當前集群中實際剩余的槽位數來進行分配,當所有的槽位數都分配完時,新提交的Topology只能等待,系統會一直監測是否有空余的槽位空出來,如果有,就再次給新提交的Topology分配。
——————————————————————————————————————
1、啟動nimbus后臺程序 命令格式:storm nimbus
2、啟動supervisor后臺程序 命令格式:storm supervisor
3、啟動ui服務 命令格式:storm ui
4、提交Topologies
命令格式:storm jar 【jar路徑】 【拓撲包名.拓撲類名】【stormIP地址】【storm端口】【拓撲名稱】【參數】
eg: storm jar /home/storm/storm-starter.jar storm.starter.WordCountTopology wordcountTop;
#提交storm-starter.jar到遠程集群,并啟動wordcountTop拓撲。
5、停止Topologies
查看當前運行的topo: storm list
命令格式:storm kill 【拓撲名稱】
樣例:storm kill wordcountTop #殺掉wordcountTop拓撲。