storm.yaml添加JMX的配置如下:
nimbus.childopts: "-Xmx1024m -Djava.rmi.server.hostname=192.168.1.1 -Dcom.sun.management.jmxremote.port=9801 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" supervisor.childopts: "-Xmx2048m -Djava.rmi.server.hostname=192.168.1.1 -Dcom.sun.management.jmxremote.port=9802 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
配置添加好了重启nimbus和supervisor结点。
防火墙配置:
# Generated by iptables-save v1.4.7 on Tue Mar 10 12:44:31 2015 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [22:3552] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth2 -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp -m multiport --dports 80,20887,14174,8181,6627,6700,6701,6702,6703,3772,3773,9801,9802 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT -A INPUT -m state --state NEW -p tcp -m tcp -m multiport --dports 8074,9874 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 20887 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9720:9720 -j ACCEPT #JMX每次启动时的随机端口,添加上此配置jconsole才能正常连接 -A INPUT -m state --state NEW -m tcp -p tcp --dport 30001:65006 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited #-A INPUT -p tcp -m tcp --dport 8181 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 6627 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 6700 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 6701 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 6702 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 6703 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 3772 -j ACCEPT #-A INPUT -p tcp -m tcp --dport 3773 -j ACCEPT #-A FORWARD -j REJECT --reject-with icmp-host-prohibited #-A OUTPUT -p tcp -m tcp --sport 8181 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 6627 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 6700 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 6701 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 6702 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 6703 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 3772 -j ACCEPT #-A OUTPUT -p tcp -m tcp --sport 3773 -j ACCEPT COMMIT # Completed on Tue Mar 10 12:44:31 2015
然后通过JDK提供的jconsole进行监控:
service:jmx:rmi:///jndi/rmi://192.168.1.1:9801/jmxrmi
在jconsole下面还可以直接使用IP加端口的方式,比如:
192.168.1.1:9801
或者通过接口把JVM各参数拿到,然后通过类似监控宝的监控服务进行监控并报警。
相关推荐
与Nimbus节点类似,对Supervisor节点的监控也需要通过修改`storm.yaml`文件来实现。 - 在Supervisor节点上的`storm.yaml`文件中增加以下配置项: ```yaml supervisor.childopts: -verbose:GC -XX:+...
- 使用JMX监控工具(如jconsole或VisualVM)确保Nimbus和Supervisor运行正常。 5. 方案验证: - 创建并提交一个简单的Storm拓扑,观察数据处理是否有效进行。 - 监控Zookeeper和Storm的日志,确认无错误信息。 ...
7. **监控与调试**:Storm提供了一套全面的监控工具,如Web UI和JMX指标,帮助开发者监控拓扑运行情况,并定位和解决性能问题。 8. **案例研究**:PDF资料可能包含实际项目案例,展示了如何在不同领域,如广告定向...
- 默认情况下,JMX 是启用的,可以通过 JMX 来监控 Zookeeper 的状态。 #### 五、Apache Storm 架构概述 Apache Storm 的架构主要包括以下几个组件: - **Nimbus**: 类似于 Hadoop 中的 JobTracker,负责分配任务、...
- 集群设置涉及Nimbus(主节点)、Supervisor(工作节点)和Zookeeper(协调服务)。 - 使用ZK确保高可用性和故障恢复。 10. **容错机制**: - Storm通过检查点(checkpointing)和重放机制确保数据至少处理一次...