Oozie功能

简介: Oozie是一个基于Hadoop的调度器,它可以用来管理和协调Hadoop作业、Pig作业、Hive作业、Shell脚本等。【2月更文挑战第21天】

Oozie是一个基于Hadoop的调度器,它可以用来管理和协调Hadoop作业、Pig作业、Hive作业、Shell脚本等。Oozie以XML的形式编写调度流程,支持有向无环图(DAG)和Hierarchical Path-Defined Language(HPDL)两种工作流模型。
image.png

安装命令


 sudo yum install -y oozie

Oozie主要通过创建Workflow、Coordinator和Bundle Job来实现作业调度。


<workflow-app xmlns="uri:oozie:workflow:0.2" name="wf-example">
    <start to="hive-node"/>
    <action name="hive-node">
        <hive>
            <job-tracker>jobtracker</job-tracker>
            <name-node>hdfs://localhost:9000</name-node>
            <script>hive-script.sql</script>
        </hive>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Job failed, error message[${
   
   wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end/>
</workflow-app>

DAG(有向无环图)是Oozie工作流的基本模型,它允许用户创建具有分支和合并的复杂工作流。HPDL(层次路径定义语言)是Oozie的另一种工作流模型,它使用路径定义来描述工作流中各个任务的执行顺序。
image.png

参数化工作流

使用 Oozie 的 XML 格式定义工作流,并在其中添加参数化元素。


<workflow-app xmlns="uri:oozie:workflow:0.2" name="example-workflow">
    <start to="param-node"/>
    <action name="param-node">
        <hive>
            <job-tracker>jobtracker</job-tracker>
            <name-node>hdfs://localhost:9000</name-node>
            <script>${
   
   param_value}</script>
        </hive>
        <ok to="end"/>
        <error to="error"/>
    </action>
    <kill name="error">
        <message>Job failed, error message[${
   
   wf:errorMessage(wf:lastErrorNode(wf:flowExecutionNode))}]</message>
    </kill>
    <end/>
</workflow-app>

使用 Oozie 的命令行工具 oozie 提交工作流。


oozie -submit -config example-workflow.xml -param param_value=Hello, World!
目录
相关文章
|
SQL 分布式计算 Hadoop
Azkaban--使用实战--hive 调度 | 学习笔记
快速学习 Azkaban--使用实战--hive 调度
771 0
Azkaban--使用实战--hive 调度 | 学习笔记
|
3月前
|
XML 分布式计算 监控
详细指南:在Hadoop中配置Oozie作业
【8月更文挑战第31天】
70 0
|
SQL 分布式计算 运维
Hadoop生态系统中的监控与管理工具:Apache Ambari和Apache Oozie的功能解析
Hadoop生态系统中的监控与管理工具:Apache Ambari和Apache Oozie的功能解析
|
分布式计算 JavaScript Java
Oozie的安装和使用
Oozie的安装和使用
|
SQL Shell 调度
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
快速学习 Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本
Apache Oozie-- 实战操作--集成 hue& 调度 hive 脚本|学习笔记
|
SQL 存储 Java
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记
快速学习 Apache Oozie一 实战操作一调度 hive 脚本
Apache Oozie一 实战操作一调度 hive 脚本|学习笔记
|
SQL 数据可视化 大数据
集成 Oozie 服务&amp;调度 Hive 脚本 | 学习笔记
快速学习 集成 Oozie 服务&amp;调度 Hive 脚本
149 0
集成 Oozie 服务&amp;调度 Hive 脚本 | 学习笔记
|
分布式计算 API 调度
Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记
快速学习Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序
Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记
|
SQL 分布式计算 Hadoop
Azkaban--使用实战--hadoop 调度(hdfs、mapreduce) | 学习笔记
快速学习 Azkaban--使用实战--hadoop 调度(hdfs、mapreduce)
695 0
Azkaban--使用实战--hadoop 调度(hdfs、mapreduce) | 学习笔记
|
SQL 分布式计算 安全
【Oozie】(二)Oozie 架构及运行模型介绍
【Oozie】(二)Oozie 架构及运行模型介绍
498 0
【Oozie】(二)Oozie 架构及运行模型介绍