天天看點

Apache Storm 官方文檔 —— 指令行操作

原文連結    譯者:魏勇

本文介紹了 storm 指令行用戶端中的所有指令操作。如果想要了解怎樣設定你的 strom 用戶端和遠端叢集的互動,請按照配置開發環境一文中的步驟操作。

storm 中支援的指令包括:

jar

kill

activate

deactivate

rebalance

repl

classpath

localconfvalue

remoteconfvalue

nimbus

supervisor

ui

drpc

文法:<code>storm jar topology-jar-path class ...</code>

使用指定的參數運作 main 方法(也就是打包好的拓撲 jar 包中的 main 方法)。storm 所需要的 jar 包和配置資訊都在類路徑(classpath)中。這個運作過程已經配置好了,這樣 stormsubmitter 就可以在送出拓撲的時候将 <code>topology-jar-path</code>中的 jar 包上傳到叢集中。

文法:<code>storm kill topology-name [-w wait-time-secs]</code>

殺死叢集中正在運作的名為 <code>topology-name</code> 的拓撲。執行該操作後,storm 首先會登出拓撲中的 spout,使得拓撲中的消息逾時,這樣目前的所有消息就會結束執行。随後,storm 會将所有的 worker 關閉,并清除他們的狀态。你可以使用 <code>-w</code>參數來調整 storm 在登出與關閉拓撲之間的間隔時間。

文法:<code>storm activate topology-name</code>

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

文法:<code>storm deactivate topology-name</code>

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

文法:<code>storm rebalance topology-name [-w wait-time-secs]</code>

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

再平衡首先會在一個逾時時間内(這個時間是可以通過 <code>-w</code> 參數配置的)登出掉拓撲,然後在整個叢集中重新配置設定 worker。接着拓撲就會自動回到之前的狀态(也就是說之前處于登出狀态的拓撲仍然會保持登出狀态,而處于激活狀态的拓撲則會傳回激活狀态)。

文法:<code>storm repl</code>

打開一個帶有類路徑上的 jar 包和配置資訊的 clojure 的互動式解釋器(repl)。該指令主要用于調試。

文法:<code>storm classpath</code>

列印用戶端執行指令時使用的類路徑環境變量。

文法:<code>storm localconfvalue conf-name</code>

列印出本地 storm 配置中 <code>conf-name</code> 屬性的值。這裡的本地配置指的是 <code>~/.storm/storm.yaml</code> 和 <code>defaults.yaml</code> 兩個配置檔案綜合後的配置資訊。

文法:<code>storm remoteconfvalue conf-name</code>

列印出叢集配置中 <code>conf-name</code> 屬性的值。這裡的叢集配置指的是 <code>$storm-path/conf/storm.yaml</code> 和 <code>defaults.yaml</code> 兩個配置檔案綜合後的配置資訊。該指令必須在一個叢集機器上執行。

文法:<code>storm nimbus</code>

啟動 nimbus 背景程序。該指令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細資訊請參考配置 storm 叢集一文。

文法:<code>storm supervisor</code>

啟動 supervisor 背景程序。該指令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細資訊請參考配置 storm 叢集一文。

文法:<code>storm ui</code>

啟動 ui 背景程序。ui 提供了一個通路 storm 叢集的 web 接口,其中包含有運作中的拓撲的詳細資訊。該指令應該在daemontools 或者 monit 這樣的工具監控下執行。詳細資訊請參考配置 storm 叢集一文。

文法:<code>storm drpc</code>

啟動 drpc 背景程序。該指令應該在 daemontools 或者 monit 這樣的工具監控下執行。詳細資訊請參考分布式 rpc一文。