【Linux】AKHQ实现kafka可视化
akhq.jar
是 AKHQ(一个用于 Apache Kafka 的开源管理和监控工具)的可执行 JAR 包,通过它可以快速启动 AKHQ 服务,实现对 Kafka 集群的可视化管理(如查看主题、消费组、消息内容,管理权限等)。
1. 核心功能
AKHQ 作为 Kafka 的管理工具,通过 akhq.jar
启动后,主要提供以下功能:
- 集群监控:查看 Kafka 集群节点状态、分区分布、副本同步情况。
- 主题管理:创建、删除、修改 Kafka 主题(如分区数、副本因子、配置参数)。
- 消息操作:查看主题中的消息内容(支持 JSON、Avro 等格式解析),手动发送测试消息。
- 消费组管理:监控消费组的偏移量(已消费/未消费消息数),重置偏移量、删除消费组。
- 权限控制:集成 Kafka ACL(访问控制列表),管理用户对主题/消费组的操作权限。
- 配置中心:集中管理 Kafka 集群的全局配置和主题级别的个性化配置。
2. 运行依赖
- Java 环境: AKHQ 需要 Java 11 及以上版本(官方推荐 Java 17),低版本 Java 可能无法启动。
- 配置文件:通常需要在
config
目录下放置配置文件(如application.yml
或application.properties
),用于指定 Kafka 集群地址、AKHQ 服务端口、日志级别等参数
3. 启动命令
启动命令为:
nohup /root/akhq/jdk-17.0.7/bin/java -jar /root/akhq/akhq.jar --logging.level.org.akhq=DEBUG &
nohup ... &
:将进程放入后台运行,避免终端关闭后服务停止。/root/akhq/jdk-17.0.7/bin/java
:指定使用的 Java 可执行文件路径。-jar /root/akhq/akhq.jar
:通过java -jar
命令运行akhq.jar
。--logging.level.org.akhq=DEBUG
:临时指定 AKHQ 的日志级别为DEBUG
(用于调试,默认可能为INFO
),优先级高于配置文件中的日志设置。
4. 访问方式
启动后,AKHQ 会默认监听 8080 端口(可通过配置文件修改),通过浏览器访问 http://服务器IP:8080
即可打开管理界面(无需额外安装前端,JAR 包已包含内置的 Web 服务)。
5. 配置说明
config
目录是 AKHQ 的核心配置所在,主要配置文件通常为 application.yml
,关键配置项示例:
akhq:server:servlet:context-path: /connections:local:properties:bootstrap.servers: "192.168.100.150:9092"
通过配置文件,可以添加多个 Kafka 集群、修改界面语言(支持中文)、配置认证(如 LDAP、OAuth2)等。
5. 常见操作
- 停止服务:通过
ps -ef | grep akhq.jar
找到进程 ID,再用kill -9 进程ID
停止。 - 查看日志:启动脚本中输出日志到
nohup.out
,可通过tail -f nohup.out
实时查看运行日志。 - 升级版本:替换
akhq.jar
为新版本,保持配置文件不变,重启服务即可。