大数据之任务调度 Oozie详细介绍

Oozie简介

          Oozie是一个基于工作流引擎的服务器,可以在上面运行Hadoop的Map Reduce和Pig任务。它其实就是一个运行在Java Servlet容器(比如Tomcat)中的Javas Web应用。
在这里插入图片描述          在官网中,我们看到Oozie的Logo设计可以知道Oozie本来就是一个任务调度连续的工作流程。

  1. Oozie是一个管理Apache Hadoop作业的工作流调度程序系统。
  2. Oozie工作流作业是操作的直接非周期图(DAGs)。
  3. Oozie协调器作业是由时间(频率)和数据可用性触发的周期性Oozie工作流作业。
  4. Oozie与Hadoop堆栈的其他部分集成在一起,支持几种类型的Hadoop开箱即用作业(如Java map-reduce、流映射-reduce、Pig、Hive、Sqoop和Distcp),以及系统特定的作业(如Java程序和shell脚本)。
  5. Oozie是一个可伸缩、可靠和可扩展的系统。

Oozie特点

  1. Oozie 客户端 API 以及命令行界面可以用来启动,控制和监视Java应用程序作业
  2. 使用其Web服务的API可以从任何位置控制作业
  3. Oozie有规定执行这些计划定期来运行作业
  4. Oozie 有规定作业完成后可发送电子邮件通知

Oozie的节点类型

          Oozie的节点类型包括控制流节点(control flow nodes) 和行为节点(action nodes)

  1. 控制流节点(control flow nodes):定义任务的拓扑和执行逻辑
    分为: start end kill decision fork join.其中start end kill 代表了工作流的起始及国祚流执行逻辑
  2. 行为节点(action nodes) :负责工作流的依赖和触发
    分为Action Basis,Map-Reduce Action,Pig Action,Fs (HDFS) action,Ssh Action,Sub-workflow Action,Java Action,其他扩展的 Action

Oozie工作原理

在这里插入图片描述
          Oozie是工作流调度用在Hadoop中。它是一个运行相关的作业工作流系统。这里,用户被允许创建向非循环图工作流程,其可以在并列 Hadoop 并顺序地运行。Oozie组成包括:**工作流引擎(Workflow)和协调器引擎(Schedule)**两部分组成

  1. 工作流引擎(Workflow):一个工作流引擎的职责是存储和运行工作流程,由 Hadoop 作业组成:MapReduce, Pig, Hive;
  2. 协调器引擎(Schedule):它运行基于预定义的时间表和数据的可用性工作流程作业。

HUE上的Oozie调度

任务界面

在这里插入图片描述

添加任务

在这里插入图片描述

任务详情

在这里插入图片描述

Oozie常用的系统变量

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44327656/article/details/89159244