Apache Chronos体系结构说明

时间:2018-07-24 07:16:19

标签: mesos mesos-chronos

我试图查看是什么使Chronos优于Crons?我无法完全理解其作业调度和执行体系结构。

具体来说,这些是关于chronos体系结构的问题,我不清楚。

  1. 在一份Chronos文档中,我读到,由于crons具有SPoF,所以crons不好,而cronos更好。 chronos如何避免SPoF?
  2. Chronos中的工作计划保存在哪里?它为此维护某种数据库吗?
  3. 计划的作业是如何触发的,谁向Chronos发送事件以触发作业?
  4. 计时作业是否触发了相关作业,如果是,计时作业如何得知父作业何时完成?它可以区分失败的工作和完成的工作吗?
  5. 我看到chronos中的作业是使用Json格式定义的,使用JSON的任何理由,而不是YAML,Apache Config等其他任何格式。
  6. 在chronos中的作业可以有多个命令吗?如果是,所有这些不同的命令都将在群集中的同一台计算机上执行吗,或者Chronos甚至可以在群集中不同计算机上的作业中启动不同的命令?作业中的这些多个命令可以并行启动吗?
  7. 如果mesos已经具有调度功能,那么为什么甚至需要Chronos?计时可以在没有Mesos的情况下运行吗?
  8. Chronos是否支持基于事件的计划?例如,在创建文件“ x”时运行我的工作等。
  9. 异步运行作业在Chronos中意味着什么?

任何人都可以很好地了解Chronos的体系结构?

1 个答案:

答案 0 :(得分:1)

您的一些问题在我的回复here中得到了回答,因此我将重点讨论其他未解决的问题。

  1. 除非您使用Zookeeper,否则Chronos会将状态存储在内存中,在这种情况下,状态默认存储在/chronos/state的{​​{3}}中

  2. 请参阅:reference here.

  3. 基于lastsuccesslastfailure Chronos: How does it work?

  4. 因为作者决定使用JSON和RESTful API

  5. 是的。使用&&或bash脚本...它们都将在作业运行所在的同一台计算机上执行。不,单个作业不能并行运行命令,但是可以同时安排多个作业。

  6. 因为Chronos适用于可以定期安排的短期cron作业,而Marathon适用于长期任务。 Chronos可以很好地替代cron的原因是,它完全依赖于Mesos-这意味着您还可以使用Mesos属性在Mesos集群周围适当地调度作业。参见seen herehere

  7. 不是。

  8. 异步作业的状态令人怀疑,看起来像here,但不幸的是在文档中仍然有一些引用。