kafka-topics.sh 是kafka自带管理主题的工具.
创建主题:
创建一个叫 topicName并且有三个分区,每个分区有三个副本的副本
./kafka-topics.sh --zookeeper zkip:2181 --create --topic topicName --replication-factor 3 --partitions 3
–zookeeper 指定zk连接地址(kafka主题以及分区信息保存在zk)
–create 创建 (–delete 删除)
–replication-factor 后面跟一个数字代表每个分区创建多少个副本
–patitions 指定多少个分区
创建主题时修改默认配置
./kafka-topics.sh --zookeeper zkip:2181 --create --topic topicName --replication-factor 3 --partitions 3
--config message.timestamp.type=LogAppendTime
–config后跟需要覆盖默认配置的参数以及值
增加分区
将topicName主题的分区更改为5个
./kafka-topics.sh --zookeeper zkip:2181 --alter --topic topicName --partitions 5
删除主题
首先确保delete.topic.enable 配置是true
./kafka-topics.sh --zookeeper zkip:2181 --delete--topic topicName
查看主题
查看当前kafka所有主题的名称
./kafka-topics.sh --zookeeper zkip:2181 --list
列出主题的详细信息,如果不加 --topic 将会列出所有主题的详细信息
./kafka-topics.sh --zookeeper zkip:2181 --describe --topic topicName
–topic-with-overrides 列出有所有与集群默认配置不一样的主题
./kafka-topics.sh --zookeeper zkip:2181 --describe --topics-with-overrides
–under-replicated-partitions 列出所有包含不同步副本的分区
./kafka-topics.sh --zookeeper zkip:2181 --describe --under-replicated-partitions
–unavailable-partitions 列出所有没有leader的分区(分区已经不可用了)
./kafka-topics.sh --zookeeper zkip:2181 --describe --unavailable-partitions