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