Hadoop生态圈之Oozie(一)

Oozie是一款由Cloudera贡献给Apache的工作流调度系统,用于管理Hadoop生态圈中的job。它能够按照DAG调度一系列Map/Reduce或Hive任务,支持三种类型:Workflow,适用于顺序执行流程节点;Coordinator,用于定时触发多个工作流Job;Bundle,用于管理多个Coordinator,实现批处理工作流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Oozie

​ Oozie 是一个用来管理 Hadoop 生态圈 job 的工作流调度系统。由 Cloudera 公司贡献给 Apache。 Oozie 是运行于 Java servlet 容器上的一个 java web 应用。 Oozie 的目的是按照 DAG(有向无环图) 调度一系列的 Map/Reduce 或者 Hive 等任务。 Oozie 工作流由 hPDL(Hadoop Process Definition Language)定义 (这是一种 XML 流程定义语言)。

Oozie 的架构

 

  • Oozie Client

    • 提供命令行、 java api、 rest 等方式,对 Oozie 的工作流流程的提交、启动、运行等操作;

  • Oozie WebApp

    • 即 Oozie Server,本质是一个 java 应用。可以使用内置的 web 容器, 也可以使用外置的 web 容器;

  • Hadoop Cluster:

    • 底层执行 Oozie 编排流程的各个 hadoop 生态圈组件;

Oozie 基本原理

​ Oozie 对工作流的编排, 是基于 workflow.xml 文件来完成的。用户预先将工作流执行规则定制于 workflow.xml 文件中,并在 job.properties 配置相关的参数, 然后由 Oozie Server 向 MR 提交 job 来启动工作流。

 

Oozie 工作流类型

  • Workflow

    • 规则相对简单,不涉及定时、批处理的工作流。顺序执行流程节点。

    • workflow有个大缺点:没有定时和条件触发功能

     

  • Coordinator

    • Coordinator 将多个工作流 Job 组织起来,称为 Coordinator Job,并指定触发时间和频率,还可以配置数据集、并发数等,类似于在工作流外部增加了一个协调器来管理这些工作流的工作流 Job 的运行。

 

  • Bundle

    • 针对 coordinator 的批处理工作流。

    • Bundle 将多个 Coordinator 管理起来,这样我们只需要一个 Bundle 提交即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值