zoukankan      html  css  js  c++  java
  • 1.1-1.4 hadoop调度框架和oozie概述

    一、hadoop调度框架

    Linux Crontab 
    
    Azkaban             https://azkaban.github.io/
    
    Oozie             http://oozie.apache.org/
    
    Zeus(阿里的)         https://github.com/michael8335/zeus2


    二、oozie架构

    1、oozie

    一个基于工作流引擎的开源框架,是由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。
    Oozie需要部署到Java Servlet容器中运行。
    
    Oozie工作流定义,同JBossjBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。
    对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。
    
    Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及
    控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和OoZte子流程。


    2、Oozie工作流程概述

    Oozie是一个基于服务器的工作流引擎, 专门用于运行工作流作业,其中包含运行Hadoop Map / Reduce和Pig作业的操作。
    
    Oozie是一个在Java servlet容器中运行的Java Web应用程序。
    
    出于Oozie的目的,工作流是在控制依赖性DAG(直接非循环图)中排列的动作集合(即Hadoop Map / Reduce作业,Pig作业)。
    从一个动作到另一个动作的“控制依赖性”意味着第二个动作在第一个动作完成之前无法运行。
    
    Oozie工作流定义用hPDL(类似于JBOSS JBPM jPDL 的XML过程定义语言 )编写。
    
    Oozie工作流操作在远程系统(即Hadoop,Pig)中启动作业。在操作完成后,远程系统回调Oozie以通知操作完成,此时Oozie继续执行工作流中的下一个操作。
    
    Oozie工作流包含控制流节点和动作节点。
    
    控制流节点定义工作流的开始和结束(开始 ,结束 和失败 节点),并提供控制工作流执行路径(决策 ,分支 和连接 节点)的机制。
    
    动作节点是工作流触发计算/处理任务执行的机制。Oozie为不同类型的操作提供支持:Hadoop map-reduce,Hadoop文件系统,Pig,SSH,HTTP,
    eMail和Oozie子工作流。Oozie可以扩展为支持其他类型的操作。
    
    可以参数化Oozie工作流程(使用 工作流定义中的$ {inputDir}等变量)。提交工作流时,必须提供参数值。如果正确参数化(即使用不同的输出目录),
    可以同时执行几个相同的工作流作业。


    3、工作流程图

    image


    OozieV1  Workflow Engine

    Oozie V1是一个基于服务器的工作流引擎,专门运行带有执行Hadoop Map/Reduce和Pig作业的操作的工作流作业。

    image


    oozieV2 Lifecycle of an Oozie coordinator Engine

    基于Oozie v2 isa服务器的协调器Enginel专门负责基于时间和数据触发器运行工作流。它可以基于时间连续运行工作流。每小时运行一次),
    以及数据可用性(例如在运行工作流之前,等待输入数据的存在)。

    image


    oozieV3

    Oozie v3是一个基于服务器的捆绑包引擎,它提供了一个更高级别的Oozie抽象,可以批处理一组协调器应用程序。
    用户将能够启动/停止/挂起/恢复/重新运行bundle级别的set coordinator作业,从而实现更好更容易的操作控制。

    image

  • 相关阅读:
    部署ApplicationEndpoint
    当某人将我添加到他的联系人列表时,禁止通知我。
    通讯簿电话号码同步相关问题
    selenium之调用js解决淘宝点击下一页问题(JAVA版)
    try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
    给checkbox添加属性 checked=" " 的话,该checkbox会否勾选上
    SVN版本控制安装全步骤
    安装Oracle步骤总结(第2次)
    onclick与addEventListener的区别
    Win8 环境变量位置
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/10839477.html
Copyright © 2011-2022 走看看