Storm UI
——本文主要解释下storm ui上各项属性的含义。
通过http://UI_Server:8080可以打开Storm Web UI看看Storm集群的状态。
1. mainpage
首页主要分为3块:
a. Cluster Summary
version:storm版本
Nimbus uptime: nimbus的启动时间
Supervisors: storm集群中supervisor的数目
used slots: 使用了的slots数
free slots: 剩余的slots数
total slots: 总的slots数
executors:运行的线程数
tasks: 运行的任务数
b. topology summary
Name: 运行的topology 名称
id: topology id (由storm生成)
status: topology的状态,包括(ACTIVE, INACTIVE, KILLED, REBALANCING)
uptime: topology运行的时间
num workers: 运行的workers数
num executors:运行的线程数
num tasks: 运行的任务数
c. supervisor summary
id:supervisor id
host: supervisor(主机)的主机名
uptime: supervisor启动的时间
slots: supervisor的端口数
used slots: 使用的端口数
d. nimbus configuration
......
点击对应的运行的topology名称即可进入Topology页面
2. topologypage
topology页面主要包括4个部分
a. topology summary(同主页)
b. topology stats
window: 时间窗口,显示10m、3h、1d和all time的运行状况
emitted: emitted tuple数
transferred: transferred tuple数, 说下与emitted的区别:如果一个task,emitted一个tuple到2个task中,则transferred tuple数是emitted tuple数的两倍
complete latency: spout emitting 一个tuple到spout ack这个tuple的平均时间
acked: ack tuple数
failed: 失败的tuple数
c. spouts
id: spout id
parallelism: 任务数
last error: 最近的错误数,只显示最近的前200个错误
emitted, transferred, complete latency, acked和failed同上
d. bolts
process latency: bolt收到一个tuple到bolt ack这个tuple的平均时间
其他参数同上
还有componentpage和taskpage, 参数的解释同上。
taskpage中的Component指的是spoutid 或者 boltid, time指的是错误发生的时间,error是指错误的具体内容。
附注其中的一些名词解释:
task:一个“task”指的是负责运行spout和bolt代码逻辑的单独一个线程。
worker:一个“worker”指的是负责向多个task投递消息的网络监听程序(独立的进程),每“worker”代理的“task”由其自身在初始化时候创建。
task与executor的关系问题:在storm的学习过程中,有许多人问到task与executor的关系问题。在我们安装配置storm的时候,不知大家是否主要到了一个问题,就是我们在配置的时候会加几个worker的端口(supervisor.slots.ports:),比如众多文档中提到的6700/6701等等类似的东西。没错,这就是我们定义了该supervisor最多的worker数,worker中执行一个bolt或者spout线程,我们就称之为task,而executor是物理上的线程概念,我们可以将其称为执行线程;而task更多是逻辑概念上的,有时候bolt与spout的task会共用一个executor,特别是在系统负荷比较高的时候。
具体参考:storm源码之理解Storm中Worker、Executor、Task关系