一、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、工作流程图

OozieV1  Workflow Engine

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

oozieV2 Lifecycle of an Oozie coordinator Engine

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

oozieV3

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

1.1-1.4 hadoop调度框架和oozie概述的更多相关文章

  1. Hadoop调度框架

        大数据协作框架是一个桐城,就是Hadoop2生态系统中几个辅助的Hadoop2.x框架.主要如下: 1,数据转换工具Sqoop 2,文件搜集框架Flume 3,任务调度框架Oozie 4,大数 ...

  2. Java线程池管理及分布式Hadoop调度框架搭建

    平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头. 怎么做一套简便的线程开发模 ...

  3. Hadoop Streaming框架学习(一)

    Hadoop Streaming框架学习(一) Hadoop Streaming框架学习(一) 2013-08-19 12:32 by ATP_, 473 阅读, 3 评论, 收藏, 编辑 1.Had ...

  4. Hadoop Yarn框架详细解析

    在说Hadoop Yarn之前,我们先来看看Yarn是怎样出现的.在古老的Hadoop1.0中,MapReduce的JobTracker负责了太多的工作,包括资源调度,管理众多的TaskTracker ...

  5. Hadoop mapreduce框架简介

    传统hadoop MapReduce架构(老架构)   从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路:   1.首先用户程序 (JobClient) 提交了一个 job,job ...

  6. 下一代Apache Hadoop MapReduce框架的架构

    背景 随着集群规模和负载增加,MapReduce JobTracker在内存消耗,线程模型和扩展性/可靠性/性能方面暴露出了缺点,为此需要对它进行大整修. 需求 当我们对Hadoop MapReduc ...

  7. Quartz.net 开源job调度框架(二)----定点执行

    在上一篇  Quartz.net 开源job调度框架(一) 中讲到了基本的使用以及配置job轮训数据执行 这种做法适用于对数据操作实时性要求不高的场景,在实际场景中还有一种比较常用的场景就是我们需要在 ...

  8. Quartz定时调度框架

    Quartz定时调度框架CronTrigger时间配置格式说明 CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年 ...

  9. Quartz.net 开源job调度框架(一)

    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...

随机推荐

  1. lockfile - conditional semaphore-file creator

    LOCKFILE(1) LOCKFILE(1) NAME lockfile - conditional semaphore-file creator SYNOPSIS lockfile -sleept ...

  2. professional cuda c programming--CUDA库简单介绍

    CUDA Libraries简单介绍   上图是CUDA 库的位置.本文简要介绍cuSPARSE.cuBLAS.cuFFT和cuRAND.之后会介绍OpenACC. cuSPARSE线性代数库,主要针 ...

  3. Django知识梳理

    请求周期: url > 路由 > 函数或类 > 返回字符串或模板语言 Form 表单提交: 先处理模板语言再讲HTML发出去 提交 > url > 函数或类中的方法  — ...

  4. python--网络编程--socket

    网络通信标准---网络协议 互联网协议--osi七层协议 五层协议:应用层:应用层.表示层.会话层          传输层:传输层    网络层:网络层    数据链路层:数据链路层    物理层: ...

  5. PHP框架的基本原理以及选择标准

    PHP框架的原理 说到PHP框架,可能很多PHP新手会感到有些胆怯.其实,PHP框架也不是那么深不可测的,框架就是别人使用PHP基础只是为你写好了的东西,只是封装在一起:这就好比我们使用PHP的函数, ...

  6. 五、Web框架基础(2)

    Tornado 异步协程编程.(其实是异步IO而非真正的异步,从内核拷贝到用户空间的过程还是同步的) 适合用户量大.高并发,如抢票.网页游戏.在线聊天等场景:或大量HTTP持久连接,通过单TCP持久连 ...

  7. java 多线程2(转载)

    http://www.cnblogs.com/DreamSea/archive/2012/01/11/JavaThread.html Ø线程的概述(Introduction) 线程是一个程序的多个执行 ...

  8. Unable to run Kiwi tests on iOS8 device

    本文转载至 http://stackoverflow.com/questions/25871601/unable-to-run-kiwi-tests-on-ios8-device 5down vote ...

  9. SPDY: An experimental protocol for a faster web HTTP/2

    http://www.chromium.org/spdy/spdy-whitepaper https://en.wikipedia.org/wiki/SPDY Internet protocol su ...

  10. MQ发送的消息都到了死信队列中了

    MQ在发送消息的时候,设置的过期时间太短.(昨天项目上线遇到了,开发中也遇到一次.)谨记!!!