在Kafka集群中,其中一个代理充当控制者。我的问题是,即使已经选出的控制器启动并运行,该控制器的选择也会一次又一次地发生吗?如果是,这种情况多久发生一次?我们可以控制时间吗?
答案 0 :(得分:1)
Zookeeper负责通过心跳机制对群集中所有代理的运行状况进行检查,以使代理列表保持最新状态。它还负责在开始时或当前控制器崩溃时选择控制器。
因此,在健康状态下(将心跳发送给Zookeeper),无需重新选择控制器
答案 1 :(得分:1)
在所有broker都启动并运行的情况下执行controller重选:删除zookeeper中的controller节点,它会在不关闭任何broker的情况下再次发起controller选举。
Zookeeper-shell 命令:
bin/zookeeper-shell localhost:2181 deleteall /kafka/controller [rmr is deprecated]