docker部署kafka以及可视化
1、Kafka UI简介Apache Kafka 本身是一个非常强大的分布式流处理平台,但其原生工具主要是命令行形式,对于日常管理和问题排查来说,存在一些痛点:操作复杂:记住所有命令行参数和脚本对用户来说是一种负担。缺乏可视化:无法直观地查看主题(Topic)的消息内容、消费者组(Consumer Group)的滞后情况(Lag)、集群的负载分布等。监控困难:需要集成其他监控系统(如 Promet
1、Kafka UI简介
Apache Kafka 本身是一个非常强大的分布式流处理平台,但其原生工具主要是命令行形式,对于日常管理和问题排查来说,存在一些痛点:
操作复杂:记住所有命令行参数和脚本对用户来说是一种负担。
缺乏可视化:无法直观地查看主题(Topic)的消息内容、消费者组(Consumer Group)的滞后情况(Lag)、集群的负载分布等。
监控困难:需要集成其他监控系统(如 Prometheus, Grafana)才能全面了解集群健康状态,门槛较高。
效率低下:排查一个简单问题(例如“某个主题最近是否有消息?”)可能需要执行多条命令并手动解析输出。
Kafka UI 的出现,完美地解决了这些问题,它让 Kafka 的管理和调试工作变得简单、高效和直观。
2、Kafka UI的核心功能
尽管不同的 UI 工具在细节上有所差异,但它们通常都提供以下核心功能:
集群概览
查看 Broker 列表、状态、版本和配置。
监控集群整体健康状况(在线/离线节点)。
主题管理
创建、编辑、删除主题(Topic)。
查看主题的详细信息(分区数、副本因子、配置)。
查看每个分区的 Leader 分布、ISR(同步副本)列表和消息偏移量。
消息浏览
实时或按偏移量/时间戳浏览特定主题分区中的消息。
以 JSON、纯文本、Avro(集成 Schema Registry)等多种格式查看消息内容、Key 和 Header。
直接通过 UI 向主题发送测试消息。
消费者组监控
列出所有消费者组及其成员。
可视化监控消费者滞后(Consumer Lag),这是最重要的监控指标之一。
查看每个消费者组的消费进度和分区分配情况。
Schema Registry 集成
浏览、创建和管理 Avro、Protobuf 等 schema。
验证消息与 schema 的兼容性。
Kafka Connect 管理
查看和管理 Connector 及其 Task。
创建、编辑、暂停和重启 Connector。
访问控制
管理 ACLs,控制用户/客户端对主题等资源的访问权限。
3、安装docker
1、安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
2、配置docker yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker
yum install -y docker-ce
修改数据目录
sudo systemctl stop docker
sudo mkdir -p /data/docker
sudo vi /etc/docker/daemon.json
修改为以下内容
{
"data-root": "/data/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
重启docker
systemctl enable docker --now
sudo systemctl restart docker
4、拉取kafka镜像
docker pull bitnami/kafka:latest
x86架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/kafka:latest
arm架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_kafka:latest
docker pull provectuslabs/kafka-ui:latest
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/kafka-ui:latest
arm架构
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_kafka-ui:latest
5、创建kafka数据目录
mkdir -p /data/kafka
Kafka容器
docker run -d \
--name kafka \
-p 9092:9092 \
-e KAFKA_CFG_NODE_ID=0 \
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093 \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.152.115:9092 \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/kafka:latest
Kafka UI容器
docker run -d \
--name kafka-ui \
-p 8080:8080 \
-e KAFKA_CLUSTERS_0_NAME=dev_cluster \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=192.168.152.115:9092 \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/kafka-ui:latest
访问kafka服务
浏览器访问: http://192.168.152.115:8080
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)