当前位置: 首页 > 知识库问答 >
问题:

如何平衡Kafka领导层?

韩刚洁
2023-03-14

我的Kafka版本是kafka_2.9.2-0.8.1.1。集群中有两个代理,4个主题,每个主题有4个分区。

当我跑的时候

shKafka主题。sh——描述——动物园管理员rhost:2181

对于所有主题/分区,我认为Broker1是领导者。

如何平衡领导的负载?

例如,对于主题1和主题2,代理1作为领导者,而对于主题3和主题4,代理2作为领导者。

共有3个答案

谢财
2023-03-14

我知道这有点晚了,也许你已经找到了答案,但是为了平衡领导者,首先你需要让所有分区中的代理都同等优先,对于一个代理来说是“首选领导者”,它有两个标准,第一,它需要同步副本,第二,它必须是副本列表中的第一个元素。因此,如果您有足够少的主题/分区,您可以手动执行,这将更容易,否则您需要在所有代理之间分配第一个元素(首选副本)来重新分配分区,然后启动首选领导人选举工具,该工具将确保首选领导人实际上就是领导人。

邴和雅
2023-03-14

您可以使用首选副本领导者选举工具:

shkafka-preferred-replica-election.shzklist

这保证了集群中代理的领导负载均衡

戎桐
2023-03-14

分区应该自动重新平衡,因为代理配置参数auto.leader.rebalance.enable的默认值是true

但是,默认情况下,此重新平衡每5分钟发生一次,由领导定义。不平衡检查间隔秒参数。如果希望更频繁地发生这种情况,则必须修改此参数。

 类似资料:
  • 当我们的kafka主题中有多个分区时,分区重新平衡是一件常见的事情吗? 这并不一定意味着我们的应用程序存在延迟或问题? 我一直看到分区被撤销和重新分配的日志。

  • Kafka再平衡算法是否适用于不同主题? 假设我有5个主题,每个主题都有10个分区,同一消费者组中有20个消费者应用程序实例,每个实例都订阅了这5个主题。 Kafka会尝试在20个实例中平衡50个分区吗? 还是它只在一个主题内保持平衡,因此10个第一个实例可能(或可能)接收所有50个分区,而其他10个实例可能保持空闲? 我知道,在过去,Kafka并没有在不同的主题之间取得平衡,但现在的版本呢?

  • 我知道在你的流中的任何时间点都可能发生再平衡。当它发生时,由于没有提交给定偏移量的最新偏移量,可能会发生事件的重新处理。 Kafka流是否允许在重新平衡发生之前完成任何飞行中处理?我的意思是,你的应用程序正在消耗一个记录(在你的过程方法内部),发生一个再平衡事件。该处理是否立即中止或允许处理方法完成? 一个具体的例子是 最后一次计算是否会在状态存储中结束并转发到接收器主题?因此,这意味着当重新平衡

  • 我有一个Kafka Streams应用程序,使用3个代理和3个复制因子从Kafka集群进行消费和生产。除了消费者偏移主题(50个分区)之外,所有其他主题都只有一个分区。 当代理尝试首选副本选择时,Streams应用程序(运行在与代理完全不同的实例上)将失败,并出现错误: Streams应用程序尝试成为分区的领导者是否正常,因为它在不属于Kafka集群的服务器上运行? 我可以通过以下方式复制这种行为

  • 我用Kafka-斯特里姆齐算子在库伯内特斯上运行Kafka。我正在使用增量粘性再平衡策略,通过以下配置我的消费者: 每次我在我的消费者组中缩放消费者时,该组中的所有现有消费者都会生成以下异常 线程“main”组织中出现异常。阿帕奇。Kafka。常见的错误。RebalanceInProgressException:由于使用者正在进行自动分区分配的重新平衡,因此无法完成偏移量提交。您可以通过调用pol

  • 当一个新的消费者/borker被添加或下降时,Kafka会触发一个再平衡操作。Kafka是在重新平衡封锁行动。Kafka的消费者是不是在一个再平衡操作正在进行的时候就被封锁了?