Storm入門之附錄A
阿新 • • 發佈:2018-12-22
安裝Storm客戶端
Storm客戶端能讓我們使用命令管理叢集中的拓撲。按照以下步驟安裝Storm客戶端:
- 從Storm站點下載最新的穩定版本(https://github.com/nathanmarz/storm/downloads)當前最新版本是storm-0.8.1。(譯者注:原文是storm-0.6.2,不過翻譯的時候已經是storm-0.8.1了)
- 把下載的檔案解壓縮到/usr/local/bin/storm的Storm共享目錄。
- 把Storm目錄加入PATH環境變數,這樣就不用每次都輸入全路徑執行Storm了。如果我們使用了/usr/local/bin/storm,執行export PATH=$PATH:/usr/local/bin/storm
- 最後,建立Storm本地配置檔案:~/.storm/storm.yaml,在配置檔案中按如下格式加入nimbus主機:
nimbus.host:"我們的nimbus主機"
現在,你可以管理你的Storm叢集中的拓撲了。
NOTE:Storm客戶端包含執行一個Storm叢集所需的所有Storm命令,但是要執行它你需要安裝一些其它的工具並做一些配置。詳見附錄B。
有許多簡單且有用的命令可以用來管理拓撲,它們可以提交、殺死、禁用、再平衡拓撲。
jar命令負責把拓撲提交到叢集,並執行它,通過StormSubmitter執行主類。
storm jar path-to-topology-jar class-with-the-main arg1 arg2 argN
path-to-topology-jar是拓撲jar檔案的全路徑,它包含拓撲程式碼和依賴的庫。 class-with-the-main是包含main方法的類,這個類將由StormSubmitter執行,其餘的引數作為main方法的引數。
我們能夠掛起或停用執行中的拓撲。當停用拓撲時,所有已分發的元組都會得到處理,但是spouts的nextTuple方法不會被呼叫。
停用拓撲:
storm deactivte topology-name
啟動一個停用的拓撲:
storm activate topology-name
銷燬一個拓撲,可以使用kill命令。它會以一種安全的方式銷燬一個拓撲,首先停用拓撲,在等待拓撲訊息的時間段內允許拓撲完成當前的資料流。
殺死一個拓撲:
storm kill topology-name
NOTE:執行kill命令時可以通過-w [等待秒數]指定拓撲停用以後的等待時間。
再平衡使你重分配叢集任務。這是個很強大的命令。比如,你向一個執行中的叢集增加了節點。再平衡命令將會停用拓撲,然後在相應超時時間之後重分配工人,並重啟拓撲。
再平衡拓撲:
storm rebalance topology-name