kafka 2.6.0 分区配置

学习笔记 2020/08/26 Linux, Kafka

    首页我们要了解kafka为什么要在topic里加入分区的概念?topic是逻辑的概念,partition是物理的概念,对用户来说是透明的。producer只需要关心消息发往哪个topic,而consumer只关心自己订阅哪个topic,并不关心每条消息存于整个集群的哪个broker。

    为了性能考虑,如果topic内的消息只存于一个broker,那这个broker会成为瓶颈,无法做到水平扩展。所以把topic内的数据分布到整个集群就是一个自然而然的设计方式。Partition的引入就是解决水平扩展问题的一个方案。

    我们可以把每个partition认为是一个无限长度的数组,新数据顺序追加进这个数组。物理上,每个partition对应于一个文件夹。一个broker上可以存放多个partition。这样,producer可以将数据发送给多个broker上的多个partition,consumer也可以并行从多个broker上的不同paritition上读数据,实现了水平扩展。

\"7.png\"/


分区配置

修改 server.properties

vim /usr/local/kafka/config/server.properties 
num.partitions=3 #默认为每个创建主题自动创建3个分区


或者创建topic时设置

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic klogs


修改已存在topic分区

bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic klogs --partitions 3


查看分区信息

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic klogs
Topic: klogs    PartitionCount: 3       ReplicationFactor: 1    Configs: 
        Topic: klogs    Partition: 0    Leader: 0       Replicas: 0     Isr: 0
        Topic: klogs    Partition: 1    Leader: 0       Replicas: 0     Isr: 0
        Topic: klogs    Partition: 2    Leader: 0       Replicas: 0     Isr: 0



本文地址:https://www.stayed.cn/item/252

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。