# **安裝Storm客戶端**
Storm客戶端能讓我們使用命令管理集群中的拓撲。按照以下步驟安裝Storm客戶端:
1. 從Storm站點下載最新的穩定版本([https://github.com/nathanmarz/storm/downloads](http://github.com/nathan%20marz/storm/downloads "(https://github.com/nathan marz/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](http://ifeve.com/getting-started-with-storm-appendixB)。
有許多簡單且有用的命令可以用來管理拓撲,它們可以提交、殺死、禁用、再平衡拓撲。
**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
~~~
~~~
NOTE:執行不帶參數的Storm客戶端可以列出所有的Storm命令。完整的命令描述請見:https://github.com/nathanmarz/storm/wiki/Command-line-client。
~~~