如何更改kafka集群中某个主题的代理数?

pkbketx9  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(376)



我对Kafka的一些主题有问题,但还找不到答案。
虽然向uuConfluent.support.metrics添加更多分区应该不是问题(我知道怎么做),但我想知道是否可以告诉它使用本主题显然看不到的代理?
我也想理解为什么这些主题只继承了一些代理,而不是集群中所有可用的5个代理。
我很想解决这些问题。但我担心,如果我告诉它在主题看不到的代理上添加(或使用)分区,它可能无法工作,甚至会破坏主题,这将是非常糟糕的。
我如何指导这些主题,有5个可用的代理?我能用Kafka的工具吗?
一开始怎么会这样?
为什么像此群集中的所有其他主题一样,\uu consumer\u offset主题只“see”4个代理而不是5个代理?
仅供参考:我没有设置任何这些,但我必须清理/改造正在运行的集群,现在卡住了,我以前从未遇到过这种问题

vcudknz3

vcudknz31#

发生这种情况的原因是您只有一个分区和一个副本用于\uuuConfluent.support.metrics主题。在5节点集群中,这意味着您将只使用集群中20%的可用代理,这与您发布的映像相对应。复制因子为1且分区为1的主题只能在一个代理上保存数据。
另一方面,您的消费者补偿主题仅使用5个代理中的4个是不寻常的。我猜您的第5个代理在创建消费偏移量时不在线(这是您第一次从任何主题消费时创建的),因此没有在此代理上创建分区。
不过,这可能没什么好担心的,因为跨集群的分区分布通常由kafka自己处理,而不是用户问题。没有“看见”经纪人本身的主题概念;相反,代理持有主题的数据,并且主题将知道它们驻留在哪个代理上。一个主题通常不需要与其他经纪人联系。

p8h8hvxi

p8h8hvxi2#

consumer offset和confluent metrics主题在服务器属性文件中都有行项目,用于确定将使用哪些配置创建这些主题。
为了改善这些主题的运行状况,您可以尝试增加复制因子,这将使您的主题分布在更多代理上并提供容错性。另请参见kafka tools wiki

相关问题