在elk集群搭建过程中,为了极大程度的利用服务器资源,kafka、zookeeper、logstash规划混跑在了同一组服务器上。随着业务量的增加,要频繁增加调整kafka的topic,出现问题时还要去服务器敲命令查
在elk集群搭建过程中,为了极大程度的利用服务器资源,kafka、zookeeper、logstash规划混跑在了同一组服务器上。随着业务量的增加,要频繁增加调整kafka的topic,出现问题时还要去服务器敲命令查看kafka和zookeeper的相关信息,效率低而且不方便,于是就考虑到用kafka的管理工具kafka-manager,安装配好后,整个集群的状态一目了然,而且可以方便的进行topic的操作、消费情况的查询、broker各种状态指标的查询等,非常方便,各种信息一目了然,安装配置过程中遇到两坑做下记录,先看下安装后的信息展示:
一、brokers的整体情况
二、topic的整体情况
三、某个用户组对某个topic的消费情况
四、安装配置中的两个小坑
安装过程不说了,详见github:https://github.com/yahoo/kafka-manager
1、要在kafka启动脚本中添加JMX_PORT
启动脚本:/usr/local/kafka/bin/kafka-server-start.sh if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi
2、kafka的服务器必须添加hostname对应的host域名解析,并重启kafka
这个是java本身处理的一个机制问题,通过代码修改和绑定host都可以解决,如果不处理,报出来的错误如下:
[error] k.m.j.KafkaJMX$ - Failed to connect to service:jmx:rmi:///jndi/rmi://10.13.88.191:9999/jmxrmi java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused (Connection refused)
从一个运维人员的角度出发,改host解析是最得心应手的,登录kafka的服务器,打开/etc/hosts文件,将主机名对应的解析记录修改为本机对外通信的ip地址,另外将127.0.0.1和::1对应的主机名删掉,修改如下,修改后必须重启kafka才能生效。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.13.88.190 bx-search5
“运维网咖社”原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.net-add.com
社长"矢量比特",曾就职中软、新浪,现任职小米,致力于DevOps运维体系的探索和运维技术的研究实践. |