Kafka Manager 使用总结

kafka 监控管理工具不多,最近尝试了几款,都不是很满意,最后选择了 kafka manager,使用过程中踩了不少坑,这边整理下

编译打包

1
2
# 编译打包,默认会在 ${KAFKA_MANAGER_HOME}/target/univeral/ 下生成 zip 包
./sbt clean package

zip 包的可执行文件无法以系统服务的方式执行,我使用的是 CentOS 7.2,manager 支持制作 rpm 包

1
2
3
4
5
yum install rpm
yum install rpm-build
./sbt rpm:packageBin

# 时间较长,耐心等待,会在 ${KAFKA_MANAGER_HOME}/target/rpm/RPMS/noarch/ 下生成 rpm 包

安装

1
rpm -ivh kafka-manager-1.3.3.22-1.noarch.rpm

相关目录

  • 配置目录 /etc/kafka-manager
  • 应用目录 /usr/share/kafka-manager
  • log目录 /usr/share/kafka-manager/application.home_IS_UNDEFINED/logs
  • service 文件目录 /usr/lib/systemd/system/kafka-manager.service

配置

  • 修改 zk 地址
  • 开启 Basic Auth

管理服务

1
systemctl start|status|stop|restart kafka-manager.service

使用过程的报错

  • systemctl service 启动失败,查看 log
1
journalctl -u kafka-manager.service
  • 服务启动报错 No java installations was detected.

修改 kafka-manager.service 文件,指定 -java-home 配置项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[Unit]
Description=A tool for managing Apache Kafka
Requires=network.target

[Service]
Type=simple
WorkingDirectory=/usr/share/kafka-manager
EnvironmentFile=/etc/default/kafka-manager
ExecStart=/usr/share/kafka-manager/bin/kafka-manager -java-home /path/to/javahome
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=60
SuccessExitStatus=
User=root
ExecStartPre=/bin/mkdir -p /run/kafka-manager
ExecStartPre=/bin/chown root:root /run/kafka-manager
ExecStartPre=/bin/chmod 755 /run/kafka-manager
PermissionsStartOnly=true
LimitNOFILE=1024

[Install]
WantedBy=multi-user.target

修改完成后执行 systemctl daemon-reload 再启动服务

  • manager 默认使用 9000 端口,进入配置 jmx 使用日志报错 java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:

解决办法可以参考

喜欢我的文章的人,可以自愿付费。