版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lemonZhaoTao/article/details/84898923
Kafka系列文章:
Kafka系列 —— 入门及应用场景 & 部署 & 简单测试
Kafka系列 —— Kafka核心概念
创建topic
bin/kafka-topics.sh --create \
--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \
--replication-factor 3 --partitions 3 --topic test
查看有哪些topic
查看某个具体的topic信息
kafka-topics.sh --describe \
--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \
--topic test
Topic:test PartitionCount:3 ReplicationFactor:3 Configs:
Topic: test Partition: 0 Leader: 1 Replicas: 1,3,2 Isr: 1,3,2
Topic: test Partition: 1 Leader: 2 Replicas: 2,1,3 Isr: 2,1,3
Topic: test Partition: 2 Leader: 3 Replicas: 3,2,1 Isr: 3,2,1
删除topic
假删除
问题1: 当我们对test这个topic执行了这样的删除操作之后,发送和接收数据的实验还是否能够成功?还是否能往里面写数据、读数据呢?
答案:能写、能读
问题2: 配置了delete.topic.enable=true之后,test在topic是否能够删除成功呢、
答案:不能删除成功
这就是假删除
真删除
在真正删除的时候,不会去配置delete.topic.enable这个参数,都是用的默认
- Kafka的元数据存在Zookeeper上
- Kafka真正的数据存在磁盘上
删除元数据:
通过zkCli.sh命令进入到zk的界面:
将test这个topic给删干净:
删除磁盘数据(每台机器都去删除):
rm -rf $KAFKA_HOME/logs/test-*
删除再创建topic时的诡异现象
在前面,我们已经将test这个topic给删除了,当我们再去创建相同的topic,test的时候,创建完成之后去$KAFKA_HOME/logs下去查看,发现并没有对应的partition目录显示,当我们重启Kafka之后,才会进行显示(比较诡异,如果生产上遇到了,可以选择在一个没有什么业务在使用的时候去进行重启);如果topic原来没有创建过的,是新建的topic,就能直接显示出来
把kafka所有进程kill掉的命令:kill -9 $(pgrep –f kafka)
调整partition数量
减少partition数量
不能减少partition数量,只能增,不能减
加partition数量
增加完partition数量之后查看该topic的详细信息: