Apache kafka 如何平衡卡夫卡领导层?
我的卡夫卡版本是Apache kafka 如何平衡卡夫卡领导层?,apache-kafka,Apache Kafka,我的卡夫卡版本是kafka_2.9.2-0.8.1.1。集群中有两个代理,4个主题,每个主题有4个分区 当我跑的时候 sh kafka-topics.sh——描述——动物园管理员rhost:2181 对于所有主题/分区,我认为Broker1是领导者 如何平衡领导的负载 例如,对于主题1和主题2,将代理1作为领导者和 对于主题3和主题4,让经纪人2担任组长。您可以使用: sh kafka-preferred-replica-election.sh--zookeer-zklist 这保证了集群中代理
kafka_2.9.2-0.8.1.1
。集群中有两个代理,4个主题,每个主题有4个分区
当我跑的时候
sh kafka-topics.sh——描述——动物园管理员rhost:2181
对于所有主题/分区,我认为Broker1是领导者
如何平衡领导的负载
例如,对于主题1和主题2,将代理1作为领导者和
对于主题3和主题4,让经纪人2担任组长。您可以使用:
sh kafka-preferred-replica-election.sh--zookeer-zklist
这保证了集群中代理的领导负载均衡 经纪人有一个可以在
server.properties
文件中设置的属性,该属性将启用领导力的自动重新平衡。默认情况下,它未启用。向每个代理添加以下代码行并重新启动kafka
auto.leader.rebalance.enable=true
我知道现在有点晚了,也许你已经有了答案,但是为了平衡leader,首先你需要让代理在所有分区之间都具有同等的优先权,对于一个代理来说,它是一个优先权,它有两个标准首先它需要是同步副本,第二,它必须是副本列表(IMO)上的第一个元素,因此如果您有足够少的主题/分区,那么手动执行将更容易,否则您需要重新分配分区,并在所有代理之间分发第一个元素(首选副本),然后启动首选领导人选举工具,该工具将确保首选领导人实际上是领导人。分区应自动重新平衡,因为代理配置参数auto.leader.rebalance.enable的默认值为true
。(见附件)
但是,默认情况下,此重新平衡每5分钟发生一次,由leader.disbalance.check.interval.seconds
参数定义。如果希望更频繁地发生这种情况,则必须修改此参数。,我已启用此“auto.leader.rebalance.enable=true”,但它不起作用。将2 kafka与brokerId 0和1一起使用。如果代理0停止,则代理1不充当负载平衡。我得到的错误是“java.net.ConnectException:连接被拒绝”根据当前文档,auto.leader.rebalance.enable
值默认为true,而不是false。只有v0.8建议将其设置为true,0.10及以上版本默认设置为true。请参阅v0.8文档中的平衡领导:无论哪种方式,当您描述一个主题时:领导者“X”和列表中具有首选副本顺序的第一个副本(Y、Z、X)对于所有分区都应相同,以便进行正确的领导者选举,有时这可能会丢失,有时,对于许多分区,同一节点可能是领导者-即。,ISR中的领导者也可能不平衡。您始终可以运行首选副本选择脚本来解决此问题。