https://github.com/alibaba/zeus
对海量数据进行处理时,目前大部分公司都采用Hadoop来对数据进行离线处理,但是由于业务场景,经常一个MR或者Hive或者其他形式的任务无法直接完成业务需要,需要任务之间按照特定关系来执行(任务流),例如任务1执行完成之后,才能执行任务2、任务2执行完成之后才能执行任务3和4,在这种情况下需要一套调度系统把各个任务之间的依赖关系串联起来,
目前来说,有很多开源的系统,最著名的应该算是Apache的Oozie,这里主要给大家介绍一下阿里开源的一个优秀的调度系统Zeus,GitHub地址:http://github.com/alibaba/zeus,该调度系统是想比较Oozie主要存在如下优点:
1、友好的界面显示、全中文,配置简单,Oozie的配置依赖XML文件,但是Zeus可以直接在界面配置
2、开发中心、调度中心功能完备,不仅可以在上面正式调度任务、还可以在上面进行任务开发
3、支持MR、Hive、Shell等多种任务
4、Zeus支持单机和分布式、在分布式场景下,整个集群自动切换主备,无需人工干预
5、任务失败晚上的告警方案
但是该调度系统只支持Hadoop1,且存在一些BUG,不过好消息是本人意见将其进行了二次开发,且支持Hadoop2,并且对其功能进行了增强,更好的消息是,本人已经将其开源贡献出来,GitHub地址如下:https://github.com/michael8335/zeus2