请解释 Apache Druid 中的 Coordinator 进程与 Overlord 进程分别承担哪些职责,并说明它们在集群中各自管理什么资源或任务。
考察说明
考查对 Druid 集群架构中 Coordinator 与 Overlord 职责划分的理解。
回答思路
- 【回答框架 1】Coordinator 是 Druid 集群的中枢管理进程,主要负责数据段的加载、卸载与副本管理。它运行在 Master 服务上,监控数据段在集群各历史节点上的分布,并根据规则决定哪些数据段需要加载或淘汰,从而保证查询性能和数据可用性。
- 【回答框架 2】Overlord 是 Druid 的任务调度进程,负责接收、管理并协调索引任务(如批量导入、实时摄取等)。它会将任务分配给合适的 MiddleManager 执行,并监控任务状态,处理任务失败与重试,是数据摄取流程的核心控制器。
- 【回答框架 3】二者共同构成 Druid 的控制面:Coordinator 关注数据段(Segment)层面的生命周期管理,Overlord 关注任务(Task)层面的执行调度。它们相互独立但协作,例如任务完成后新数据段上线,Coordinator 会负责后续的加载与副本规划。
- 【关键点 1】Coordinator 管理数据段的加载、卸载与副本数量。
- 【关键点 2】Overlord 负责任务的接收、调度与监控。
- 【关键点 3】二者均为 Master 服务的一部分,但职责不同。
- 【易错点 1】不要混淆 Coordinator 负责数据段,Overlord 负责任务。
- 【易错点 2】注意 Coordinator 不直接参与数据摄取,Overlord 不直接参与查询路由。