1. 程式人生 > >Storm UI詳解

Storm UI詳解

  1. 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 中的欄位說明