大数据任务调度框架oozie项目分享

 闲聊一句,我记得当初启动任务调度框架oozie项目的时候,csdn上还没有几篇关于oozie的文档,查阅资料还只能去官网,,

作业调度系统的技术选型考虑到基于java语言的Azkaban/oozie以及基于python的airflow,三者其实都可以进行很好的二次开发,基于产品开发面向用户,考虑到oozie能够更好的融入hadoop生态圈以及基于java语言开发,学习研发成本较低,最终选择了oozie技术。

oozie的三大功能:

Oozie Workflow jobs :工作流任务,可以生成DAG图

Oozie Coordinator jobs:可以定时调度

Oozie Bundle:多个coordinator的集合,或者多个workflow的集合

workflow(工作流):定义job任务执行。

Coordinator:定时触发workflow,周期性执行workflow

Bundle Job:绑定多个coordinator,一起提交或触发所以coordinator

由于暂时需求,项目中涉及到workflow以及coordinator。oozie是可以匹配不同类型的程序,比如java/ssh/sh/mr/hive/spark/sqoop等。当然不同类型的程序将对应不同结构的任务xml文件,oozie将在hdfs上指定目录里根据不同的xml任务文件启动执行任务程序。

启动任务运行类别可以分为立即启动,定时启动,循环周期启动,中间的区别可以通过coordinator中的start,end,frequency:周期 (cron表达式)进行设定。

oozie服务相关命令:

oozie job -oozie http://localhost:11000/oozie -config job.properties -submit 提交任务

oozie job -oozie http://localhost:11000/oozie -config job.properties -run 运行任务

oozie job -oozie http://localhost:11000/oozie -start  jobid 执行已经提交的任务

oozie job -oozie http://localhost:11000/oozie -kill jobid  杀死任务

oozie job -oozie http://localhost:11000/oozie -info jobid 检查作业状态

oozie job -oozie http://localhost:11000/oozie -log jobid 查看日志

oozie job -oozie http://localhost:11000/oozie -suspend jobid 将该任务挂起

oozie job -oozie http://localhost:11000/oozie -resume jobid 将该任务挂起

先这样吧,回头更新。

 

 

 

你可能感兴趣的:(大数据任务调度框架oozie项目分享)