#20339·druid

Overlord becomeLeader() 会阻塞 3 × druid.indexer.runner.syncRequestTimeout 的时间,如果中间管理器的发现条目在启动工作节点同步期间发生变化,则无法获取领导权

作者: aho135创建于 2026年9月14日更新于 2026年9月14日

集群/配置

  • httpRemote 任务运行器;合并协调器/统治者进程。
  • ~12 个中间管理器,~40 个 Kafka 流监管器。
  • druid.indexer.runner.syncRequestTimeout 保留在其默认值 PT3M 中。
  • 基于 ZooKeeper 的发现(CuratorDruidNodeDiscoveryProvider)。

触发器 ZooKeeper 集群领导者重启,导致 Druid 进程上短暂的重新选举和 Curator SUSPENDED → RECONNECTED。这迫使统治者更改领导权。当新领导者运行 becomeLeader() 时,一个中间管理器的 ZooKeeper 会话也已重置,因此其临时发现节点被删除并立即重新创建 - 在统治者开始其工作同步的 ~1 秒内发生了删除+添加翻转。