首页 > 代码库 > kafka 和 zookeeper 常用命令记录
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.propertie
创建 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 --partition 4 --topic test --alter
永久删除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即可。
kafka 和 zookeeper 常用命令记录