告诉你任务调度系统可以说是大数据平台必不可少的核心系统之一,承担着按时调度起各种各样ETL定时任务的职责。最常用的定时任务调度方式非Crontab莫属,对于简单的通过时间来定时触发的任务Crontab就能满足需求,但对于那些需要按照依赖来触发任务的话Crontab就无能无力了。单台机器上Crontab能够调度的任务数有限,如果每台机器上都配置很多定时任务,显而易见地会存在任务难以统一管理的问题,所以一个集中式的分布式任务调度系统就呼之欲出。
开源的分布式任务调度系统已经不少,比较著名的有Azkaban、Chronos、Oozie等等,此外也有自研发的,比如:阿里的SchedulerX、腾讯的Lhotse、当当的elastic-job。接下来将介绍一下51信用卡在任务调度方面的发展经历和实践。
告诉你Azkaban是LinkedIn开源的一个工作流调度系统,用于在一个工作流内以一个特定的顺序运行一组工作流任务。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪工作流。Azkaban以Flow为执行单元进行定时调度,Flow就是预定义好的由一个或多个可存在依赖关系的Job组成的工作流。
Azkaban的主要特性:
更多行业资讯敬请关注沈阳和讯金海通电子科技有限公司: