Apache Storm 命令行操作

jopen 9年前發布 | 17K 次閱讀 分布式/云計算/大數據 Apache Storm
本文介紹了 Storm 命令行客戶端中的所有命令操作。如果想要了解怎樣設置你的 Strom 客戶端和遠程集群的交互,請按照配置開發環境一文中的步驟操作。

Storm 中支持的命令包括:

  1. jar
  2. kill
  3. activate
  4. deactivate
  5. rebalance
  6. repl
  7. classpath
  8. localconfvalue
  9. remoteconfvalue
  10. nimbus
  11. supervisor
  12. ui
  13. drpc

jar

語法:storm jar topology-jar-path class ...

使用指定的參數運行 main 方法(也就是打包好的拓撲 jar 包中的 main 方法)。Storm 所需要的 jar 包和配置信息都在類路徑(classpath)中。這個運行過程已經配置好了,這樣 StormSubmitter 就可以在提交拓撲的時候將topology-jar-path中的 jar 包上傳到集群中。

kill

語法:storm kill topology-name [-w wait-time-secs]

殺死集群中正在運行的名為topology-name的拓撲。執行該操作后,Storm 首先會注銷拓撲中的 spout,使得拓撲中的消息超時,這樣當前的所有消息就會結束執行。隨后,Storm 會將所有的 worker 關閉,并清除他們的狀態。你可以使用-w參數來調整 Storm 在注銷與關閉拓撲之間的間隔時間。

activate

語法:storm activate topology-name

激活運行指定拓撲的所有 spout。

deactivate

語法:storm deactivate topology-name

停止指定拓撲的所有 spout 的運行。

rebalance

語法:storm rebalance topology-name [-w wait-time-secs]

有些場景下需要對正在運行的拓撲的工作進程(worker)進行彈性擴展。例如,加入你有 10 個節點,每個節點上運行有 4 個 worker,現在由于各種原因你需要為集群添加 10 個新節點。這時你就會希望通過擴展正在運行的拓撲的 worker 來使得每個節點只運行兩個 worker,降低集群的負載。實現這個目的的一種直接的辦法是 kill 掉正在運行的拓撲,然后重新向集群提交。不過 Storm 提供了再平衡命令可以以一種更簡單的方法實現目的。

再平衡首先會在一個超時時間內(這個時間是可以通過-w參數配置的)注銷掉拓撲,然后在整個集群中重新分配 worker。接著拓撲就會自動回到之前的狀態(也就是說之前處于注銷狀態的拓撲仍然會保持注銷狀態,而處于激活狀態的拓撲則會返回激活狀態)。

repl

語法:storm repl

打開一個帶有類路徑上的 jar 包和配置信息的 Clojure 的交互式解釋器(REPL)。該命令主要用于調試。

classpath

語法:storm classpath

打印客戶端執行命令時使用的類路徑環境變量。

localconfvalue

語法:storm localconfvalue conf-name

打印出本地 Storm 配置中conf-name屬性的值。這里的本地配置指的是~/.storm/storm.yaml和defaults.yaml兩個配置文件綜合后的配置信息。

remoteconfvalue

語法:storm remoteconfvalue conf-name

打印出集群配置中conf-name屬性的值。這里的集群配置指的是$STORM-PATH/conf/storm.yaml和defaults.yaml兩個配置文件綜合后的配置信息。該命令必須在一個集群機器上執行。

nimbus

語法:storm nimbus

啟動 nimbus 后臺進程。該命令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細信息請參考配置 Storm 集群一文。

supervisor

語法:storm supervisor

啟動 supervisor 后臺進程。該命令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細信息請參考配置 Storm 集群一文。

ui

語法:storm ui

啟動 UI 后臺進程。UI 提供了一個訪問 Storm 集群的 Web 接口,其中包含有運行中的拓撲的詳細信息。該命令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細信息請參考配置 Storm 集群一文。

drpc

語法:storm drpc

啟動 DRPC 后臺進程。該命令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細信息請參考分布式 RPC一文。

原文鏈接 譯者: 魏勇

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!