是不是CHRONOS一个集中式调度?(Isn't chronos a centralized

2019-10-29 06:35发布

为什么是分布式和容错调度克罗诺斯叫? 按我的理解,只有一个管理作业调度调度实例中运行。

按照Chronos的文档,在内部,Chronos的调度主循环非常简单。

所述图案如下:

  1. Chronos的从状态存储读取所有的工作状态(动物园管理员)

  2. 乔布斯在调度中注册,并加载到作业图用于跟踪依赖关系。

  3. 职位分为两类,应该在当前时间运行的列表(基于主机的时钟),以及那些不应该。
  4. 在作业运行列表作业进行排队,并会尽快足够的报价可用启动。
  5. 克罗诺斯将休眠,直到下一个作业计划运行,并从第1步重新开始。

专家请发表意见?

Answer 1:

您可以运行的Chronos作为单个节点(这是你在说什么),但Chronos的设计与每个不同主机上(通过动物园管理员法定人数实现HA)多个节点上运行。 在此之前,标准的领导者/跟随方法,其中只有领导者是主动和从动件(S)将流量重定向到的领导者。 这被认为是HA在许多开源框架,包括Mesos 这里看到。

负责人辞职或失败,可能会发生,这是在动物园管理员进来 - Chronos的领导人选举与领导者失败后会发生,假设法定人数已经成立,并在此事件之前维持。

见多节点的参考这里和这里 。

如何领导人选举中规定: JobSchedulerElectionSpec.scala

领导者重定向: RedirectFilter.scala



文章来源: Isn't chronos a centralized scheduler?