3. kafka开启JMX

本文介绍了如何开启Kafka的JMX服务,包括两种配置方式,并详细讲解了通过jconsole连接验证JMX配置的方法。同时,展示了如何程序化地获取MBean中的属性值,列举了Kafka官方文档中的两个MBean示例,如BrokerTopicMetrics和ReplicaManager,以及它们的相关属性。
摘要由CSDN通过智能技术生成

开启JMX

kafka开启JMX的2种方式:
1. 启动kafka时增加JMX_PORT=9988,即JMX_PORT=9988 bin/kafka-server-start.sh -daemon config/server.properties
2. 修改kafka-run-class.sh脚本,第一行增加JMX_PORT=9988即可。

事实上这两种配置方式背后的原理是一样的,我们看一下kafka的启动脚本kafka-server-start.sh的最后一行exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka "$@",实际上就是调用kafka-run-class.sh脚本,其中有一段这样的内容:

# JMX port to use
if [  $JMX_PORT ]; then
  KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
fi

所以,本质是给参数JMX_PORT赋值,第二种方式在脚本的第一行增加JMX_PORT=9988$JMX_PORT就能取到值;而第一种方式有点逼格,本质是设置环境变量然后执行启动脚本,类似下面这种方式给JMX_PORT赋值:

[afei@kafka]$ export JMX_PORT=9988
[afei@kafka]$ bin/kafka-server-start.sh -daemon config/server.properties

jmx所有相关参数都在脚本kafka-run-class.sh中,如下所示:

# JMX settings
if [ -z "$KAFKA_JMX_OPTS" ]; then
  KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=10.0.55.229 -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false "
fi

# JMX port to use
if [  
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值