Chronos:数据中心的任务调度器(job scheduler)

大家周二好,不知不觉工作半周了。今天给大家介绍一个扩展性比较强的开源的调度程序,在研究数据中心调度的兄弟可以好好研究下。

1、Chronos来源

Chronos现在是一家初创公司 Mesosphere在维护,该公司的联合创始人是前Airbnb的工程师Florian Leibert(也曾在Twitter工作过)和Tobias Knaup。 Chronos在Airbnb是用来替代cron,是一个跑在mesos上的分布式的,可靠的调度scheduler。

Mesosphere公司相关信息大家可以到以下链接看看:http://mesosphere.io/

2、Chronos架构

Chronos的架构可以看本文最上面封面的图片。

Chronos架在mesos上,负责定时任务触发,解决任务之间的重复调用,依赖关系。任务通过mesos提交给下面的Hive,Pig等框架执行,元数据存放在DB中。

Chronos的支持HA。

3、Chronos扩展性

Chronos借助mesos的master/slave架构,支持sh脚本,甚至通过异步的方式执行远端文件传输和脚本,可以通过扩展基本支持hadoop以及传统数据库,脚本等在本地和远端的执行调用。

支持标准的ISO8601的调度,可定义作业执行完成后的触发器,支持任意长度的依赖链。

4、功能特性

· 基于Web的UI

· 8601 Repeating Interval Notation

· Handles dependencies

· Job Stats (e.g. 50th, 75th, 95th and 99th percentile timing, failure/success)

· Fault Tolerance (Hot Master)

· Configurable Retries

· Multiple Workers (i.e. Mesos Slaves)

5、应用场景以及当前存在的问题:

(1)适合数据中心异构集群批任务(长周期,重复执行)统一调度和管理。

(2)可以通过Mesos承担统一管理资源,如果不需要mesos统一管理资源,mesos退化成通信框架。

(3)不适合对实时性要求高的任务(秒级),不适合单次执行触发的任务。

(4)Web UI还比较简陋,没有以图的方式显示任务的依赖关系。

(5)任务调度里面没有优先级。

(6)没有统计任务资源使用情况,调度信息反馈统计不足。

(7)没有调度自学习能力,不能自动调优调度效率。

6、项目主页:

http://airbnb.github.io/chronos/#Describing%20the%20Dependency%20Graph

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2014-05-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA高级架构

架构思想

关于什么是架构,一种比较通俗的说法是 “最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 从这个意义上说,人生规划也是一种...

3115
来自专栏沃趣科技

容器化 RDS:借助火焰图定位Kubernetes性能问题

借助 CSI(Container Storage Interface),加上对 Kubenetes 核心代码的少量修改,可以 out-tree 的方式高效且低耦...

692
来自专栏ThoughtWorks

微服务概述 | TW洞见

今日洞见 文章作者来自ThoughtWorks:James&Martin,译者来自ThoughtWorks:姚琪琳。 本文所有内容,包括文字、图片和音视频资料,...

2653
来自专栏Albert陈凯

flink与Spark的对比分析

我们是否还需要另外一个新的数据处理引擎?当我第一次听到flink的时候这是我是非常怀疑的。 在大数据领域,现在已经不缺少数据处理框架了,但是没有一个框架能够完...

4984
来自专栏Java架构

Java开发者不会这些永远都只能是三流程序员,细数一下你是不是?

1325
来自专栏xingoo, 一个梦想做发明家的程序员

大数据学习之路(持续更新中...)

在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程。因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步。所...

1898
来自专栏Cloud Native - 产品级敏捷

产品级敏捷

2017.3.4, 深圳, Ken Fang 前言: 产品开发最危险的一件事便是: 开发人员往往是在无知的情况下, 写代码。 产品开发最不可思议的一...

1908
来自专栏腾讯大数据的专栏

全民拥抱Docker云--Lhotse系统经验分享

前言 “只要站在风口,猪也能飞起来”,这碗心灵鸡汤不知道激励了多少英雄豪杰踏上寻风口之路。而现如今,Docker这阵龙卷风呼啸来袭,更让众人生起迎风而上、直冲云...

2059
来自专栏资深Tester

记线上bug分析

1413
来自专栏Hongten

软件开发的生命周期

同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。把整个软件生存周期划分为若干阶段,使得每...

582

扫码关注云+社区