美文网首页
oozie调度插件的使用(一) 介绍

oozie调度插件的使用(一) 介绍

作者: 做个合格的大厂程序员 | 来源:发表于2020-07-07 09:32 被阅读0次

    oozie调度插件的使用(一) 介绍

    1.概述

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

    • 需要按顺序进行一系列任务;
    • 需要并行处理的任务;
    • 需要定时、周期触发的任务;
    • 可视化作业流运行过程;
    • 运行结果或异常的通报。

    2.Oozie 的架构

    image

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

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

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

    3.Oozie 基本原理

    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 等。

    image

    4.Oozie 工作流类型

    WorkFlow:规则相对简单,不涉及定时、批处理的工作流。顺序执行流程节点。 Workflow 有个大缺点:没有定时和条件触发功能。

    image

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

    image

    Bundle:针对 coordinator 的批处理工作流。Bundle 将多个 Coordinator 管理起来,这 样我们只需要一个 Bundle 提交即可。

    image

    相关文章

      网友评论

          本文标题:oozie调度插件的使用(一) 介绍

          本文链接:https://www.haomeiwen.com/subject/coooqktx.html