博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

storm UI

Posted on 2015-03-31 20:59  xymaqingxiang  阅读(1824)  评论(0编辑  收藏  举报

 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关系