Kafka运维命令大全

2019-09-17 18:16:06 浏览数 (1)

1、集群管理

前台启动broker

代码语言:javascript复制
bin/kafka-server-start.sh <path>/server.properties

Ctrl C 关闭

后台启动broker

代码语言:javascript复制
bin/kafka-server-start.sh -daemon <path>/server.properties

关闭broker

代码语言:javascript复制
bin/kafka-server-stop.sh

2、Topic管理

创建topic

代码语言:javascript复制
bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 3 --replication-factor 3 --topic topicname

删除topic

代码语言:javascript复制
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic topicname

查询topic列表

代码语言:javascript复制
bin/kafka-topics.sh --zookeeper localhost:2181 --list

查询topic详情

代码语言:javascript复制
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic topicname

修改topic

代码语言:javascript复制
bin/kafka-topics.sh --alter --zookeeper localhost:2181 --partitions 6 --topic topicname

3、Consumer-Groups管理

查询消费者组

代码语言:javascript复制
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

查询消费者组详情

代码语言:javascript复制
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group groupname

重设消费者组位移

代码语言:javascript复制
最早处
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupname --reset-offsets --all-topics --to-earliest --execute
最新处
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupname --reset-offsets --all-topics --to-latest --execute
某个位置
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupname --reset-offsets --all-topics --to-offset 2000 --execute
调整到某个时间之后的最早位移
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupname --reset-offsets --all-topics --to-datetime 2019-09-15T00:00:00.000

删除消费者组

代码语言:javascript复制
bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --delete --group groupname

4、脚本工具

producer脚本

代码语言:javascript复制
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic topicname
参数含义:
--compression-codec lz4  压缩类型
--request-required-acks all acks的值
--timeout 3000  linger.ms的值
--message-send-max-retries 10   retries的值
--max-partition-memory-bytes batch.size值

consumer脚本

代码语言:javascript复制
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicname --from-beginning
指定groupid
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicname --from-beginning
--consumer-property group.id=old-consumer-group
指定分区
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topicname --from-beginning
--partition 0

kafka-run-class脚本

代码语言:javascript复制
kafka-run-class.sh kafka.tools.ConsoleConsumer   就是 kafka-console-consumer.sh
kafka-run-class.sh kafka.tools.ConsoleProducer   就是 kafka-console-producer.sh

获取topic当前消息数

代码语言:javascript复制
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic topicname --time -1

--time -1表示最大位移 --time -2表示最早位移

查询_consumer_offsets

代码语言:javascript复制
bin/kafka-simple-consumer-shell.sh --topic _consumer_offsets --partition 12 --broker-list localhost:9092 --formatter "kafka.coorfinator.GroupMetadataManager$OffsetsMessageFormatter"

5、MirrorMaker

跨机房灾备工具

代码语言:javascript复制
bin/kafka-mirror-maker.sh --consumer.config consumer.properties --producer.config producer.properties --whitelist topicA|topicB

0 人点赞