storm UI解释
storm UI解釋
@(STORM)[storm]
1、關于emit與transfer
(轉自http://www.reader8.cn/jiaocheng/20120801/2057699.html)storm ui上emit和transferred的區別
最開始對storm ui上展示出來的emit和transferred數量不是很明白, 于是在storm-user上google了一把, 發現有人也有跟我一樣的困惑, nathan做了詳細的回答:
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.
這里還有關于spout, bolt之間的emitted數量的關系討論, 也解釋了我的一些疑惑:
有 的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的這兩個值都是0, 因為前一個emit方法是非安全的, 不再使用acker來進行校驗.
2、Execute letancy
每個tuple在執行execute方法的平均時長。
3、Process latency
一個tuple從收到到ack的時長。
4、Capacity
如果這個值越接近1,表示一直在調用execute方法,即并行度不足。
總結
以上是生活随笔為你收集整理的storm UI解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: trident State应用指南
- 下一篇: linux常用工具命令