参考 : kafka管理器kafka-manager部署安装
下载Kafka Manager,并进行打包,由于Kafka manager是由scala写的,所以需要由sbt的支持
1 | git clone https://github.com/yahoo/kafka-manager |
关于sbt的的安装,请移步
1 | http://www.cnblogs.com/tonglin0325/p/8884470.html |
配置zk的地址
1 | 在conf/application.conf中将kafka-manager.zkhosts的值设置为localhost |
打包完成后,对kafka-manager-1.3.3.17.zip包进行解压,位置在
1 | kafka-manager/target/universal |
修改配置
1 | vim kafka-manager-1.3.3.17/conf/application.conf |
启动Kafka manager
1 | bin/kafka-manager -Dconfig.file=/home/lintong/software/kafka-manager-1.3.3.17/conf/application.conf -Dhttp.port=7778 |
访问
1 | http://localhost:9000 |
然后在cluster中add cluster,比如
启动后如果遇到
1 | [warn] o.a.k.c.p.Errors - Unexpected error code: 38. |
就手动创建一个叫__consumer_offsets的topic
如果你的kafka只有一台机器,然后遇到kafka-console-consumer无法消费的情况,可以查看一下offsets.topic.replication.factor这个参数是否为1,不是1的话消费者的offset是无法提交上去的
启动Kafka的JMX,只需要修改kafka的启动命令就行,注意给kafka添加jmx需要在kafka manager之前
启动kafka服务时指定JMX_PORT值:
1 | JMX_PORT=9999 bin/kafka-server-start.sh -daemon config/server.properties //一台机器部署多个server采用此方法 |
或者修改kafka-server-start.sh,在前面加上:
1 | export JMX_PORT=9999 //如果一台机器部署一个server 建议采用此方法 |
点击please enable consumer plooing here,配置查看消费者信息
Kafka Manager API 参考
1 | https://github.com/yahoo/CMAK/blob/master/conf/routes |
关于Kafka Manager中的一些参数说明:
Topic 指标#
Replication (副本数)
Number of Partitions (分区数)
Sum of partition offsets (offset大小,需要开启JMX支持)
Total number of Brokers (Broker总数)
Number of Brokers for Topic (Topic所占Broker数)
Preferred Replicas % ()
Brokers Skewed % (Broker 均衡率)
Brokers Spread % (Broker 扩散率)
Under-replicated % (处于同步状态的比率)
Metrics 指标#
Message in /sec 消息数据流量
Bytes in /sec kafka输入数据流量
Bytes out /sec kafka输出数据流量
Bytes rejected /sec 拒绝的流量
Failed fetch request /sec 失败的获取请求
Failed produce request /sec 失败的生产请求