大数据调度系统

  大数据平台离不开调度系统。大数据平台工作流系统主要分为两类:

   1.静态工作流执行列表

    2.动态工作流执行列表

 

    静态工作流根据作业计划提前生成并持久化任务执行列表,代表有:oozie , azkaban,airflow。

    oozie , azkaban,airflow 这三个调度系统都是基于文件配置固化工作流形成DAG。oozie使用xml文件描述任务,支持hive,shell,java,hadoop,spark等调度。azkaban使用properties文件描述任务,使用shell命令,支持hive,shell,java,hadoop,spark等调度。airflow是python开发的基于python脚本定义任务。我比较熟悉的是oozie,基于hue上使用oozie非常简单拖拽控件配置就可完成,简单方便,oozie最大的优势是不需要服务器单独部署跟大数据服务部一起,oozie任务的启动都是通过一个map任务分发到集群节点启动,充分利用集群资源。

    动态工作流不提前固化任务列表,根据触发条件动态生成,代表有:zeus,Chronos,xxx-job

  最近易观数据平台开源了其研发的大数据分布式调度系统。主要解决数据处理中错综复杂的依赖关系,而不能直观监控任务健康状态等问题。EasyScheduler以DAG流式的方式将Task组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作。看上去还不错,有空研究下。
github:https://github.com/analysys/EasyScheduler

你可能感兴趣的:(个人总结)