使用JMX监控Storm的nimbus、supervisor、woker

可以通过在storm.yaml中增加如下样例的配置,

启动JMX来监控storm的各个角色。

其中对于Worker的监控,因为一个节点上可以有多个work,为了防止端口号重复导致启动失败,所以用动态代替。

%ID%为每个work的占用端口号,例如worker端口为6704,则监视端口为16704。

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"

worker.childopts: "-Xmx2048m
-Xms2048m
-Xmn500m
-XX:PermSize=256M
-XX:MaxPermSize=256M
-XX:+UseCompressedOops
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSParallelRemarkEnabled
-XX:+DisableExplicitGC
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:+CMSConcurrentMTEnabled
-Djava.net.preferIPv4Stack=true
-Xloggc:/home/master/platform/apache-storm-0.9.4/logs/gc_%ID%.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=1%ID%"

下图为实际项目的配置文件截图:

原文地址:https://www.cnblogs.com/quchunhui/p/9758102.html