关于属性文件中num.partitions的行为

dly7yett  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(429)

我发现num.partitions的值是创建autotopic时整个kafka集群上的分区号。
我在我的机器上启动了2个broker,brokera和brokerb,它们有自己的server.properties(都是num.partitons=2),然后我启动了一个producer,向kafka写入一条消息。我发现每个代理创建一个分区。
问题是,当集群中的每个代理都有自己不同的num.partitions时,一个主题有多少个分区的逻辑将是模糊的。例如,brokera num.partition=2,brokerb num.partitions=1。自动创建主题时,该主题将有多少个分区?
我已经测试过这个案子,但找不出合乎逻辑的规则。行为似乎是随机的,有时是自动主题,有时是1个分区,有时是2个分区。

flseospp

flseospp1#

根据设计,生产者将选择负载最少的代理来获取主题元数据。对于任何不存在的主题,所选的代理使用自己指定的主题创建它们 num.partitions 如果 auto.create.topics.enable 这是真的。对于负载最少的代理,它意味着未完成请求最少的节点。在测试环境中,有时可能是brokera,但有时是brokerb。这就是你观察随机性的原因。

相关问题