Kafka 常用命令汇总
最近新项目用到了Kafka,踩过很多坑,关于kafka和zookeeper集群的安装本文不做介绍,先将一些常用的命令分享出来:
启动Kafka:
bin/kafka-server-start.sh -daemon config/server.properties &
启动zookeeper:
sh zkServer.sh start | status | stop|
create topic:
bin/kafka-topics.sh –create –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181 –replication-factor 1 –partitions 4 –topic test
list topics:
bin/kafka-topics.sh –list –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181
describe topic:
bin/kafka-topics.sh –describe –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181 –topic test
produce message:
bin/kafka-console-producer.sh –broker-list kafka_1:9092,kafka_2:9092,kafka_3:9092,kafka_4:9092 –topic test
consume message:
bin/kafka-console-consumer.sh –bootstrap-server kafka_1:9092 –from-beginning –topic test
kafka消费情况
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker –group group_test –topic test –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181
查看没有leader的partition
bin/kafka-topics.sh –describe –topic test –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181 –unavailable-partitions
添加分区
bin/kafka-topics.sh –alter –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181 –partitions 5 –topic test
delete topic: (慎用)
bin/kafka-topics.sh –delete –zookeeper zk_kafka_1:2181,zk_kafka_2:2181,zk_kafka_3:2181 –topic 【topic name】
Topic motie_app is marked for deletion [motie_app - marked for deletion]
delete from zookeeper topic:
(1)登录zookeeper客户端:命令:./bin/zookeeper-client
(2)找到topic所在的目录:ls /brokers/topics
(3)找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。
注意:依次重启zookeeper和kafka的服务,如果历史分区存在数据,需要先处理分区的数据。
None Leaer or Leader=-1
登录zookeeper客户端:
get controller_epoch 查看选举次数。
leader_epoch默认为0
isr默认为1即可
create /brokers/topics/${topic_name}/partitions/1/state {“controller_epoch”:19,”leader”:1,”version”:1,”leader_epoch”:0,”isr”:[1]}