目录
Kafka通用命令
进入Kafka
1.进入kafka容器
docker exec -it kafka_kafka_1 /bin/bash
2.进入kafka目录
cd /opt/kafka/bin
查看Topic信息
1.查看所有Topic的列表
./kafka-topics.sh --bootstrap-server {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --list
2.查看单个Topic的信息
./kafka-topics.sh --bootstrap-server {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --topic {Topic名称} --describe
Partition代表了这个Topic的分区,每个分区会有一个Leader节点。
Replicas代表了这个Topic的备份数,Isr为这个分区的备份节点列表
查看ConsumerGroup信息
1.查看所有ConsumerGroup的列表
./kafka-consumer-groups.sh --bootstrap-server {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --list
2.查看单个ConsumerGroup的信息
./kafka-consumer-groups.sh --bootstrap-server {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --group {group名称} --describe
标题 | 描述 | 备注 |
---|---|---|
TOPIC | Topic名称 | |
PARTITION | 分区号 | |
CURRENT-OFFSET | 当前处理位置 | |
LOG-END-OFFSET | 总队列长度 | |
LAG | 延迟 | 不为0,说明当前分区有需要处理的数据,LAG越大达标需要处理的数据越多 |
CONSUMER-ID | Consumer的Id | 为空表示该分区暂时没有Consumer获取数据,需要查看对应的Consumer端的日志 |
HOST | Consumer的IP | |
CLIENT-ID | Client的Id |
读取Topic中的数据
./kafka-console-consumer.sh --bootstrap-server {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --topic {Topic名称} [--from-beginning] [--group ConsumerGroup的id]
--from-begining为可选参数,添加该参数可以获取已处理的数据,不添加则会获取执行命令后新写入的数据。
--group为可选参数,添加后会占用ConsumerGroup进行数据获取,常用于快速清除Topic中积压的消息。
向Topic写入数据
./kafka-console-producer.sh --broker-list {kafka节点1的IP}:9092[,{kafka节点2的IP}:9092] --topic {Topic名称}
通过回车发送消息至Topic中