Kafka-Map可视化工具完整安装与配置指南
项目简介
Kafka-Map是一款基于Java 17和React技术栈开发的Kafka可视化Web管理工具。该工具旨在为Kafka集群管理提供直观、简洁且功能强大的操作界面,帮助开发者和运维人员更高效地管理Kafka环境。
功能特性
- 多集群管理:支持同时管理多个Kafka集群
- 集群状态监控:实时监控分区数量、副本数量、存储大小和偏移量
- 主题操作:支持主题的创建、删除和扩容操作
- Broker监控:全面监控Broker节点状态
- 消费者组管理:查看和删除消费者组,支持重置偏移量
- 消息查询:支持字符串和JSON格式的消息展示
- 消息发送:支持向指定主题和分区发送字符串消息
- 延迟消息:通过扩展机制支持18个级别的延迟消息功能
环境要求
- Java 17或更高版本
- Apache Kafka 1.1.0或更高版本
安装方式
Docker方式安装(推荐)
使用Docker可以快速部署Kafka-Map:
docker run -d \
-p 8080:8080 \
-v /opt/kafka-map/data:/usr/local/kafka-map/data \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin \
--name kafka-map \
--restart always dushixiang/kafka-map:latest
原生方式安装
下载项目
git clone https://gitcode.com/gh_mirrors/ka/kafka-map.git
cd kafka-map
构建项目
# 构建前端资源
cd web
yarn && yarn build
# 构建后端应用
mvn clean package -Dmaven.test.skip=true
运行应用
# 前台运行方式
java -jar target/kafka-map.jar
# 修改端口运行
java -jar target/kafka-map.jar --server.port=1234
系统服务方式运行
对于生产环境,建议配置为系统服务:
cat <<EOF >> /etc/systemd/system/kafka-map.service
[Unit]
Description=kafka map service
After=network.target
[Service]
WorkingDirectory=/usr/local/kafka-map
ExecStart=/usr/bin/java -jar /usr/local/kafka-map/kafka-map.jar
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
配置系统服务后执行:
systemctl daemon-reload
systemctl enable kafka-map
systemctl start kafka-map
systemctl status kafka-map
界面展示
集群管理界面
Kafka-Map提供直观的集群管理界面,支持多集群同时管理,实时监控集群健康状态。
Broker状态监控
详细展示Broker节点的运行状态、分区分布和负载情况。
主题管理功能
支持主题的创建、删除、扩容等操作,配置delete.topic.enable=true后即可使用删除功能。
消费者组管理
查看所有消费者组的状态,支持消费者组的删除操作。
消息生产与消费
支持向指定主题和分区发送消息,并实时查看消费情况。
高级功能
通过扩展机制,Kafka-Map支持18个级别的延迟消息功能,满足不同业务场景的需求。
配置说明
环境变量配置
DEFAULT_USERNAME:初始登录用户名,默认为adminDEFAULT_PASSWORD:初始登录密码,默认为adminSERVER_PORT:服务端口号,默认为8080
数据持久化
通过Docker方式部署时,建议将数据目录挂载到宿主机:
-v /opt/kafka-map/data:/usr/local/kafka-map/data
使用指南
- 启动服务:按照上述任一方式启动Kafka-Map服务
- 访问界面:在浏览器中打开服务器IP:8080
- 添加集群:首次使用时需要添加Kafka集群配置
- 功能使用:根据需求使用相应的管理功能
注意事项
- 在企业网络中使用前,建议先征求IT管理员的同意
- 使用前请仔细阅读LICENSE协议条款
- 主题删除功能需要配置
delete.topic.enable=true - 如需修改默认端口,在启动命令中添加
--server.port=新端口号
故障排查
端口冲突
如果8080端口已被占用,可通过以下方式修改端口:
java -jar kafka-map.jar --server.port=1234
权限问题
确保运行用户对数据目录具有读写权限,特别是在使用Docker部署时。
通过Kafka-Map,您可以获得一个功能完整、界面友好的Kafka管理平台,极大提升Kafka集群的运维效率和管理体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考










