Storm UI詳解
- Storm ui 首頁主要分為4塊: Cluster Summary,Topology summary,Supervisor summary,Nimbus Configuration,如下圖所示:
- Cluster Summary
Version: storm 版本號
Nimbus uptime: nimbus 執行時間
Supervisor:storm叢集中supervisor的數目
User slots:使用的slots數Free slots:剩餘的slots數
Total slots:總的slots 數(對應配置檔案的supervisor.slots.ports 屬性配置的埠數,叢集的總和)
Executors:執行緒數
Tasks:任務數
- Topology summary
Name : topology 名稱
Id: 系統生成的topology id
Status: 執行狀態(ACTIVE, INACTIVE, KILLED, REBALANCING)
Uptime:執行時間
Num workers: 執行的 workers 數
Num Exectors: workers 執行的執行緒數
Num Tasks: Excetors 執行的任務數
- Supervisor summary
Id: 系統生成的 supervisor Id
Host: supervisor(主機)的主機名
Uptime:執行時間
Slots:supervisor的埠數
User slots: 使用的埠數
- Nimbus Configuration
是 nimbus 叢集中的配置檔案資訊,不在詳細解說(關鍵的可以在storm 安裝章節檢視)
2Topology 頁面
Topology 頁面主要分6塊:Topology summary,Topology actions,Topology stats,Spouts (All time),Bolts (All time),Topology Visualization,Topology Configuration
-
Topology summary
同 首頁中的 Topology summary
- Topology actions
Topology 執行狀態,可以手動更改狀態(ACTIVE, DEACTIVATE, KILLED, Rebalance)
- Topology stats
Window:時間視窗,顯示10m、3h、1d和all time的執行狀況
Emitted: emit tuple數
Transferred : transferred tuple數, 說下與emitted的區別:如果一個task,emitted一個tuple到2個task中,則transferred tuple數是emitted tuple數的兩倍
complete latency: spout emitting 一個tuple到spout ack這個tuple的平均時間
Acked:成功 tuple數
Failed:失敗tuple數
emitted欄顯示的數字表示的是呼叫OutputCollector的emit方法的次數.
transferred欄顯示的數字表示的是實際tuple傳送到下一個task的計數.
如果一個bolt A使用all group的方式(每一個bolt都要接收到)向bolt B發射tuple, 此時bolt B啟動了5個task, 那麼trasferred顯示的數量將是emitted的5倍.
如果一個bolt A內部執行了emit操作, 但是沒有指定tuple的接受者, 那麼transferred將為0.
有的bolt的execture方法中並沒有emit tuple, 但是storm ui中依然有顯示emitted, 主要是因為它呼叫了ack方法, 而該方法將emit ack tuple到系統預設的acker bolt. 因此如果anchor方式emit一個tuple, emitted一般會包含向acker bolt發射tuple的數量.
另外collector.emit(new Values(xxx))和collector.emit(tuple, new Values(xxx)) 這兩種不同的emit方法也會影響後面bolt的emitted和transferred, 如果是前者, 則後續bolt的emited tuple 和transferred
tuple這兩個值都是0, 因為前一個emit方法是非安全的, 不再使用acker來進行校驗.
- Spouts (All time)
Id: spout id
Executors:執行緒數
Emitted: emit tuple數
Transferred : transferred tuple數,
complete latency: spout emitting 一個tuple到spout ack這個tuple的平均時間
Acked:成功 tuple數
Failed:失敗tuple數
Error Host: 發生錯誤的機器
Error Port: 發生錯誤的埠號
last error: 最近的錯誤數
- Bolts (All time)
Execute latency(ms) : bolt 執行 execute 方法的平均時間
Executed: tuple 處理數
Process latency(ms):bolt收到一個tuple到bolt ack這個tuple的平均時間
注:其他欄位都在上面講過,就不在說明
- Topology Visualization
拓撲圖展示
- Topology Configuration
配置說明,不在詳解
注 spout,bolt 頁面可以參考topology 頁面中的 spout,bolt 中的欄位說明