更新时间:2021年10月21日10时08分 来源:传智教育 浏览次数:
Oozie是一个用来管理Hadoop生态圈job的工作流调度系统。由Cloudera公司贡献给Apache。Oozie是运行于Javaservlet容器上的一个javaweb应用。Oozie的目的是按照DAG(有向无环图)调度一系列的Map/Reduce或者Hive等任务。Oozie 工作流由hPDL(Hadoop Process Definition Language)定义(这是一种XML流程定义语言)。适用场景包括:
·需要按顺序进行一系列任务;
·需要并行处理的任务;
·需要定时、周期触发的任务;
·可视化作业流运行过程;
运行结果或异常的通报。
Oozie Client:提供命令行、java api、rest等方式,对Oozie的工作流流程的提交、启动、运行等操作;
Oozie WebApp:即 Oozie Server,本质是一个java应用。可以使用内置的web容器,也可以使用外置的web容器;
Hadoop Cluster:底层执行Oozie编排流程的各个hadoop生态圈组件;
Oozie对工作流的编排,是基于workflow.xml文件来完成的。用户预先将工作流执行规则定制于workflow.xml文件中,并在job.properties配置相关的参数,然后由Oozie Server向MR提交job来启动工作流。
工作流由两种类型的节点组成,分别是:
Control Flow Nodes:控制工作流执行路径,包括start,end,kill,decision,fork,join。
Action Nodes:决定每个操作执行的任务类型,包括MapReduce、java、hive、shell等。
添加QQ435946716,免费获取【全套Oozie从入门到精通教程+讲义】。
猜你喜欢