前言
以下命令是基于“kafka_2.12-3.3.1”,其它版本有可能存在不适配的情况。
启动kafka
./kafka-server-start.sh -daemon ../config/server.properties
关闭kafka
./kafka-server-stop.sh
创建topic
参数 --topic 指定 Topic 名,--partitions 指定分区数,--replication-factor 指定备份数
./kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3 --topic mytest
查询Topic列表
./kafka-topics.sh --bootstrap-server localhost:9092 --list --exclude-internal
删除Topic
./kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic test
partitions分区扩容
./kafka-topics.sh --bootstrap-server broker_host:port --alter --topic test --partitions 4
批量扩容(正则可按需求修改)
sh bin/kafka-topics.sh --topic ".*?" --bootstrap-server 172.23.248.85:9092 --alter --partitions 4
生产消息
生产无key消息
./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test
生产有key消息 加上属性--property parse.key=true
默认消息key与消息value间使用“Tab键”进行分隔,所以消息key以及value中切勿使用转义字符(\t)
./kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test --property parse.key=true
消费消息
从头开始消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
指定消费组( 只能由消费组消费,如果之前有消费过,则--from beginning只会从最新开始 )
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --group test-group
从头开始消费,并且带key
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --property print.key=true
指定分区消费 --partition 指定起始偏移量消费 --offset
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --partition 0 --offset 100
查看消费组
消费者列表
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
消费者详情
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --all-groups
重置消费组偏移量
./kafka-consumer-groups.sh --reset-offsets --to-earliest --group test-group --bootstrap-server localhost:9092 --execute --topic test