kafka命令使用
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