一、Kafdrop是Apache Kafka的开源Web UI可视化界面
主要功能
查看Kafka代理 -主题和分区分配以及控制器状态
查看主题 -分区数,复制状态和自定义配置
浏览消息 -JSON,纯文本和Avro编码
查看消费者组 -每个分区的停放偏移量,合并延迟和每个分区滞后
创建新主题
查看ACL
更多功能可以移步官网查看
https://github.com/obsidiandynamics/kafdrop
二、使用docker-compose安装kafdrop
编写docker-compose-kafdrop.yaml文件
[root@kafdrop]# mkdir -p /home/kafdrop
[root@kafdrop]# vim /home/kafdrop/docker-compose.yaml
version: "2"
services:
kafdrop:
image: obsidiandynamics/kafdrop
restart: "no"
ports:
- "9000:9000"
environment:
KAFKA_BROKERCONNECT: "kafka:29092"
JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
depends_on:
- "kafka"
kafka:
image: obsidiandynamics/kafka
restart: "no"
ports:
- "2181:2181"
- "9092:9092"
environment:
KAFKA_LISTENERS: "INTERNAL://:29092,EXTERNAL://:9092"
KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka:29092,EXTERNAL://localhost:9092"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT"
KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL"
KAFKA_ZOOKEEPER_SESSION_TIMEOUT: "6000"
KAFKA_RESTART_ATTEMPTS: "10"
KAFKA_RESTART_DELAY: "5"
ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: "0"
三、启动kafdrop
[root@kafdrop]# docker-compose -f docker-compose-kafdrop.yaml up -d
第一次运行docker-compose
会先下载obsidiandynamics/kafka
和obsidiandynamics/kafdrop
镜像,随后启动容器。
查看容器运行状态
[root@kafdrop]# docker ps -a
四、启动成功,访问ip:9000

五、传统jar启动
下载 kafdrop jar包

启动
java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop-4.0.1.jar --kafka.brokerConnect=127.0.0.1:9092
启动脚本 startup.sh
java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop-4.0.1.jar --kafka.brokerConnect=127.0.0.1:9092
restart.sh
ps -ef | grep kafdrop-4.0.1.jar | grep -v grep | awk '{print $2}' | xargs kill -9