kafka命令使用

时间:2022-05-12 04:54:27

1、创建 topic
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper zoo1:2181,zoo2:2181,zoo3:2181 --replication-factor 3 --partitions 3 --topic kafka_test
--topic 名字
--replication-factor 副本数
--partitions 分区数

2、列出所有的topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper zoo1:2181,zoo2:2181,zoo3:2181
3、查看topic
/usr/local/kafka/bin/kafka-topics.sh --zookeeper zoo1:2181,zoo2:2181,zoo3:2181 --topic topicTest --describe

4、删除topic
/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper zoo1:2181,zoo2:2181,zoo3:2181 --topic kafka_test 标记为marked for deletion
此时你若想真正删除它,可以如下操作:

(1)登录zookeeper客户端:命令:./bin/zookeeper-client

(2)找到topic所在的目录:ls /brokers/topics

(3)找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。

另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:ls /admin/delete_topics/【topic name】,

如果你删除了此处的topic,那么marked for deletion 标记消失

5、发送信息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list kafka1:9092 --topic kafka_test
>hello
>welcome

6、消费消息(新版本kafka使用)
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka2:9092 --topic kafka_test --from-beginning

问题1:
重启一个kafka后,集群不能自动平衡,执行手动平衡。
/usr/local/kafka/bin/kafka-preferred-replica-election.sh --zookeeper zoo1:2181