kafka 和 zookeeper 常用命令记录

启动zookeeper

zkServer.sh start

启动kafka服务器

kafka-server-start.sh /software/kafka_2.10-0.10.2.1/config/server.properties

后台启动

kafka-server-start.sh -daemon /software/kafka_2.10-0.10.2.1/config/server.properties

创建 topic

kafka-topics.sh --create --zookeeper master:2181 --replication-factor 2 --partitions 1 --topic test

查看所有topic

kafka-topics.sh --list --zookeeper localhost:2181

Send messages

kafka-console-producer.sh --broker-list master:9092 --topic test

启动客户端

kafka-console-consumer.sh --zookeeper master:2181 --topic test --from-beginning

删除topic

kafka-topics  --delete --zookeeper 【zookeeper server】  --topic 【topic name】

如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

来查看所有topic

kafka-topics --zookeeper 【zookeeper server】 --list 

 查看topic明细:

kafka-topics.sh --describe --zookeeper master:2181 --topic test

查看所有topic明细:

kafka-topics.sh --zookeeper master:2181,slave1:2181,slave2:2181/kafka  --describe  --topic checkall

修改topic参数:

kafka-topics.sh --zookeeper master:2181 --partition 4 --topic test --alter

增加分区数

kafka-topics.sh --zookeeper master:2181 --alter --topic my_topic_name--partitions 40

增加配置

kafka-topics.sh --zookeeper master:port --alter --topic my_topic_name --config flush.messages=1

删除配置

kafka-topics.sh --zookeeper master:port --alter --topic my_topic_name --delete-config flush.messages=1

永久删除topic

kafka-topics.sh --zookeeper master:2181 --delete --topic test

删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录 

删除zookeeper "/brokers/topics/"目录下相关topic节点

cd /usr/lib/zookeeper,或 cd <zookeeper安装目录>

zkCli.sh

ls /brokers/topics/

rmr /brokers/topics/test

rmr /admin/delete_topics/

另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:

  ls /admin/delete_topics/【topic name】,

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

zookeeper 的config中也有有关topic的信息:

ls /config/topics/【topic name】暂时不知道有什么用


总结:

彻底删除topic:

 1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录

 2、如果配置了delete.topic.enable=true直接通过命令删除,如果命令删除不掉,直接通过zookeeper-client 删除掉broker下的topic即可。

原文地址:https://www.cnblogs.com/xtdxs/p/7112683.html