Storm1.1.x UI详解:监控与管理关键点
下载需积分: 9 | MD格式 | 13KB |
更新于2024-09-07
| 191 浏览量 | 举报
"该文档详细介绍了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拓扑的健康状况,及时调整参数以优化性能和稳定性。
相关推荐