Storm1.1.x UI详解:监控与管理关键点

下载需积分: 9 | MD格式 | 13KB | 更新于2024-09-07 | 191 浏览量 | 1 下载量 举报
收藏
"该文档详细介绍了storm1.1.x版本的UI界面,旨在帮助开发人员更好地监控和管理storm拓扑。文档中包含了关于Freeslots、Executor状态、内存分配、性能指标等多个关键点的解析,并提供了几个用于调试的命令。" 在storm1.1.x的UI中,有几个核心概念和指标是开发者需要关注的重点: 1. **Freeslots**:Freeslots是指可用于运行worker的空闲节点。每个slot可以支持一个worker进程,因此充足的slots能确保系统灵活地扩展worker以应对负载变化。 2. **Executor**:Executor是storm中的执行单元,负责处理tuple。如果发现Executor相对空闲,处理的tuple数量较少,可能表明数据分布不均或者并行度设置不当,这时需要检查拓扑配置,考虑调整Executor的数量。 3. **AssignedMem(MB)**:每个worker需要的内存。当主机上运行多个worker时,要留意每个worker都会占用独立的JVM,防止因内存不足导致的问题。 4. **Emitted**:组件发射的总tuple数,这反映了拓扑的输入速率。 5. **Transferred**:组件向下游组件传递的tuple总数。如果一个组件向多个组件传递tuple,transferred的总和等于所有接收组件的tuple数。 6. **Completelatency(ms)**:拓扑处理一个tuple的完整链条所需的时间。在无acking机制的情况下,期望值可能是0或NaN。 7. **Capacity(last10m)**:这是衡量拓扑性能的关键指标,数值越小越好。当接近1时,意味着负载过重,可能需要提高并行度。正常的值通常在0.0x到0.10.2之间,计算方式涉及执行次数、平均执行延迟和测量时间。 8. **Executelatency(ms)**:一个tuple在bolt的execute方法中处理的平均时间,不包括发送ack的时间。 9. **Executed**:Bolt的execute方法处理过的tuple总数。 10. **Processlatency(ms)**:从tuple发出到ack的平均时间,对于需要等待所有输入tuple的bolt(如连接、聚合、批处理、时间窗口),这个值可能会较高。 11. **Acked**:成功处理并确认的tuple数,与Emitted对比可了解系统的处理效率和完整性。 12. **Failed**:失败或超时的tuple数,表示可能出现的问题或故障。 在调试过程中,storm提供了一些命令工具,例如: - `bin/storm set_log_level`:用于修改topology的日志级别,帮助定位问题。 - `bin/storm logviewer`:查看和监控日志的工具,对问题排查非常有用。 首页的**ClusterSummary**部分提供了集群的概览,其中`Version`信息展示了当前storm集群的版本。 通过理解这些关键指标和使用提供的调试工具,开发人员可以有效地监控storm拓扑的健康状况,及时调整参数以优化性能和稳定性。

相关推荐