1.kafka-topics.sh
1)查看当前服务器中的所有topic
bin/kafka-topics.sh --zookeeper hadoop102,hadoop103,hadoop104:2181/kafka --list
bin/kafka-topics.sh --bootstrap-server hadoop102,hadoop103,hadoop104:9092 --list
2) 查看某个Topic的详情
kafka-topics.sh --zookeeper hadoop102:2181 --describe \
--topic first
kafka-topics.sh --bootstrap-server hadoop102:9092 --describe \
--topic first
3)创建topic
kafka-topics.sh --zookeeper hadoop102,hadoop103,hadoop104:2181/kafka \
--create --replication-factor 3 --partitions 1 --topic first
kafka-topics.sh --bootstrap-server hadoop102,hadoop103,hadoop104:2181/kafka \
--create --replication-factor 3 --partitions 1 --topic first
选项说明:
–topic 定义topic名
–replication-factor 定义副本数
–partitions 定义分区数
4)删除topic
kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first
注意:
当kafka是旧版本时,需要先更改server.propertites中配置:delete.topic.enable=true 再删除;
新版kafka 默认为true;
5) 修改分区数
kafka-topics.sh --zookeeper hadoop102:2181 --alter \
--topic first --partitions 6
只能增加topic的分区数,不可以减少;
2. kafka-console-producer.sh
1)发送消息
kafka-console-producer.sh --broker-list \
hadoop102:9092,hadoop103:9092,hadoop104:9092 --topic first
注意:这里是–broker-list
3. kafka-console-consumer.sh
1)消费消息
kafka-console-consumer.sh \
--bootstrap-server hadoop102:9092 --topic first
kafka-console-consumer.sh \
--bootstrap-server hadoop102:9092 --from-beginning --topic first
–from-beginning:会把主题中现有的所有的数据都读取出来
4.kafka-consumer-groups.sh
1) 查看某个消费者组的消费详情
#查看group消费的所有topic的消费情况
kafka-consumer-groups.sh --bootstrap-server [hostname]:9092 --describe \
--group [groupname]
说明:
只能根据group查看topic消费详情,如果想查看topic消费情况必须得知道其group
topic
:当前group消费的topic
partition
:
current-offset
:当前group消费的当前topic/partition 的offset (GTP)
log-end-offset
:topic/partition 的总offset
lag
没消费的条数 lag = HW - consumer offset
topic数据堆积lag说明
2) 查看 kafka 消费者组列表:
kafka-consumer-groups.sh --bootstrap-server [hostname]:9092 --list