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數 (slot 卡槽)   

      worker數受限於slot數量,一個worker消耗一個slot,當slot全部分配完,就不能再加載新的topology。slot數量是在   supervisor.slots.ports 中設置,每個端口提供一個slot,這樣supervisor數量乘以ports數量,就是storm集羣可以使用的worker數量:supervisor.slots.ports的設置在storm服務->Configs->Supervisor下可以找到

  • 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: 使用的端口數

2.Nimbus Configuration
  是 nimbus 集羣中的配置文件信息,如下圖所示

3.Topology 頁面
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 中的字段說明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章