1. 程式人生 > >Storm入門之附錄A

Storm入門之附錄A

安裝Storm客戶端

Storm客戶端能讓我們使用命令管理叢集中的拓撲。按照以下步驟安裝Storm客戶端:

  1. 從Storm站點下載最新的穩定版本(https://github.com/nathanmarz/storm/downloads)當前最新版本是storm-0.8.1。(譯者注:原文是storm-0.6.2,不過翻譯的時候已經是storm-0.8.1了)
  2. 把下載的檔案解壓縮到/usr/local/bin/storm的Storm共享目錄。
  3. 把Storm目錄加入PATH環境變數,這樣就不用每次都輸入全路徑執行Storm了。如果我們使用了/usr/local/bin/storm,執行export PATH=$PATH:/usr/local/bin/storm
  4. 最後,建立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方法的引數。

我們能夠掛起或停用執行中的拓撲。當停用拓撲時,所有已分發的元組都會得到處理,但是spoutsnextTuple方法不會被呼叫。

停用拓撲:

storm deactivte topology-name

啟動一個停用的拓撲:

storm activate topology-name

銷燬一個拓撲,可以使用kill命令。它會以一種安全的方式銷燬一個拓撲,首先停用拓撲,在等待拓撲訊息的時間段內允許拓撲完成當前的資料流。
殺死一個拓撲:

storm kill topology-name

NOTE:執行kill命令時可以通過-w [等待秒數]指定拓撲停用以後的等待時間。

再平衡使你重分配叢集任務。這是個很強大的命令。比如,你向一個執行中的叢集增加了節點。再平衡命令將會停用拓撲,然後在相應超時時間之後重分配工人,並重啟拓撲。
再平衡拓撲:

storm rebalance topology-name