Storm UI详解

Posted 汤高

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 安装章节查看)

 

2 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 中的字段说明

 

 

以上是关于Storm UI详解的主要内容,如果未能解决你的问题,请参考以下文章

Storm笔记整理:Storm本地开发案例—总和计算与单词统计

storm启动任务失败, storm的UI访问一直刷新的问题解决方法!

Storm 系列—— Storm 集成 Redis 详解

Storm ui 显示异常

Apache Storm:开启UI界面

Storm命令详解