天天看点

kafka群集管理

Kafka版本 0.8.1-0.8.2

一、创建topic模板:

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --create  --zookeeper  IP:2181  --replication-factor  2 --partitions 30  --topic TEST

二、删除topic模板:(指定所有zookeeper server IP)

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic name --zookeeper IP01:2181,IP02:2181,IP03:2181

三、描绘kafka topic partion 信息:                                       /usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --describe  --zookeeper  IP:2181     /usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --describe  --zookeeper  IP:2181 --topic TEST 

四、列出topic信息:

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --list  --zookeeper  IP:2181       /usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --list  --zookeeper  IP:2181  --topic TEST

五、修改topic分区(分区数只能增加不能减少)

/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh --alter --topic TEST --partitions  60 --zookeeper IP:2181

六、批量删除topic脚本

for i in `/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh  --list  --zookeeper  IP:2181`;do /usr/hdp/2.2.0.0-2041/kafka/bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --topic $i --zookeeper IP:2181,IP:2181,IP:2181

done

七、删除topic之后需要手动删除zookeeper下文件

[root@gdyd-node112 bin]# cd /usr/hdp/2.2.0.0-2041/zookeeper/bin

echo "rmr /admin" | ./zkCli.sh

echo "rmr /consumers" | ./zkCli.sh

echo "rmr /config" | ./zkCli.sh

echo "rmr /controller" | ./zkCli.sh

echo "rmr /brokers" | ./zkCli.sh

echo "rmr /controller_epoch" | ./zkCli.sh

八、当前kafka版本0.8.1在删除topic的同时,不会删除对应目录下文件,需要手动删除。据说0.90的版本可以实现同步删除,未经测试,有测试过的朋友欢迎留言交流。指出文档中不足,我会陆续完善。