kafka版本:http://mirrors.hust.edu.cn/apache/kafka/2.1.0/kafka_2.12-2.1.0.tgz
打开kafka安装目录:
1、创建topic
./kafka-topic.sh –create –zookeeper 192.168.153.128:2181 –replication-factor 5 –partitions 5 –topic topic_20190122
副本数<=broker数
./kafka-topic.sh –create –zookeeper 192.168.153.128:2181 –replication-factor 3 –partitions 3 –topic test_topic_20190122
2、查看topic列表
./kafka-topic.sh –list –zookeeper 192.168.153.128:2181
3、删除topic
./kafka-topic.sh –zookeeper 192.168.153.128:2181 –topic test_topic_20190122 –delete
这个topic并没有被删除,只是被标记为删除,如果delete.topic.enable没有设置为true,该topic将不会被删除。
我们再来查看一下topic列表,./kafka-topic.sh –list –zookeeper 192.168.153.128:2181
此时已经查不到这个topic了,但此时如果我们向该topic中放数据的话:
./kafka-console-producer.sh –broker-list 192.168.153.128:9092 –topic test_topic_20190122
可以看到会有一个警告,但是还是可以正常发送消息的。我们的消费端也可以正常消费这个topic的消息的。
所以我们要先把delete.topic.enable=true加入到server.properties配置文件中,重启应用,才可以删除该topic。
3、显示某个topic的详细信息
./kafka-topic.sh –describe –zookeeper 192.168.153.128:2181 –topic test_topic
4、修改分区数
/kafka-topic.sh –alter –zookeeper 192.168.153.128:2181 –topic test_topic –partitions 5
由此可知,一旦一个topic被建立,他的partitions只能升不能降
./kafka-topic.sh –alter –zookeeper 192.168.153.128:2181 –topic test_topic –partitions 5
5、修改副本数
但是我们觉得现在的副本不合理,想修改副本数。一下是我们现在副本情况
首先创建一个json格式的文件:
执行修改副本的脚本
./kafka-reassign-partitions.sh –zookeeper 192.168.153.128:2181 –topics-to-move-json-file ../json/partitions-topic.json –broker-list "0,1,2" –generate
将以上Proposed partition reassignment configuration下面的内容复制到文件replicas-factors.json文件中,并修改一下副本数
执行修改副本脚本
./kafka-reassign-partitions.sh –zookeeper 192.168.153.128:2181 –reassignment-json-file ../json/replicas-factors.json –execute
查看分配进度
./kafka-reassign-partitions.sh –zookeeper 192.168.153.128:2181 –reassignment-json-file ../json/replicas-factors.json –verify
可以看到已经分配完成了。
此时我们再查看这个topic的详情:./kafka-topic.sh –describe –zookeeper 192.168.153.128:2181 –topic test_topic
副本数已经修改完成。
6、修改topic配置参数
要修改topic的配置参数我们先来查看一下都有哪些参数:
https://blog.csdn.net/qq_35689573/article/details/86702611
./kafka-topic.sh –alter –zookeeper 192.168.153.128:2181 –topic test_topic –config max.message.bytes=1000013
./kafka-topic.sh –describe –zookeeper 192.168.153.128:2181 –topic test_topic
删除这个参数配置
./kafka-topic.sh –alter –zookeeper 192.168.153.128:2181 –topic test_topic –deleteConfig max.message.bytes
重新查看配置信息,已经不见了。