kafka系列之『常用命令』

56 阅读1分钟

前言

以下命令是基于“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