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

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概述的更多相关文章
- Hadoop调度框架
大数据协作框架是一个桐城,就是Hadoop2生态系统中几个辅助的Hadoop2.x框架.主要如下: 1,数据转换工具Sqoop 2,文件搜集框架Flume 3,任务调度框架Oozie 4,大数 ...
- Java线程池管理及分布式Hadoop调度框架搭建
平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头. 怎么做一套简便的线程开发模 ...
- Hadoop Streaming框架学习(一)
Hadoop Streaming框架学习(一) Hadoop Streaming框架学习(一) 2013-08-19 12:32 by ATP_, 473 阅读, 3 评论, 收藏, 编辑 1.Had ...
- Hadoop Yarn框架详细解析
在说Hadoop Yarn之前,我们先来看看Yarn是怎样出现的.在古老的Hadoop1.0中,MapReduce的JobTracker负责了太多的工作,包括资源调度,管理众多的TaskTracker ...
- Hadoop mapreduce框架简介
传统hadoop MapReduce架构(老架构) 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1.首先用户程序 (JobClient) 提交了一个 job,job ...
- 下一代Apache Hadoop MapReduce框架的架构
背景 随着集群规模和负载增加,MapReduce JobTracker在内存消耗,线程模型和扩展性/可靠性/性能方面暴露出了缺点,为此需要对它进行大整修. 需求 当我们对Hadoop MapReduc ...
- Quartz.net 开源job调度框架(二)----定点执行
在上一篇 Quartz.net 开源job调度框架(一) 中讲到了基本的使用以及配置job轮训数据执行 这种做法适用于对数据操作实时性要求不高的场景,在实际场景中还有一种比较常用的场景就是我们需要在 ...
- Quartz定时调度框架
Quartz定时调度框架CronTrigger时间配置格式说明 CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年 ...
- Quartz.net 开源job调度框架(一)
Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...
随机推荐
- DDR 布线规则
https://blog.csdn.net/cpf099/article/details/52038862 https://blog.csdn.net/cpf099/article/details/5 ...
- Allegro PCB中封装焊盘替换操作详解
Allegro PCB中有些功能在某种情况下使用会产生神奇的效果,但有部分人不会或不熟悉在特定情况下使用某些功能来解决问题.如焊盘替换,有些特殊器件(如下图)封装按照datasheet给出的参考制作, ...
- kubernetes-handbook 阅读笔记
文档地址 https://jimmysong.io/kubernetes-handbook/concepts/ Pod是在Kubernetes集群中运行部署应用或服务的最小单元,它是可以支持多容器的. ...
- 嵌套的EasyUI 怎么获取对象
说明: 1.本篇文章介绍的是,怎么获取嵌套的Easyui 中的id为pageDetail的iframe对象 2.刚开始的页面效果如下图,是一个只有north,center区域的easyUI easy ...
- 后台管理微服务(二)——docker的使用
1. docker概述 1.1 Docker是什么 Docker 是软件工业的集装箱技术 Docker 是一个容器引擎,docker提供了一套完整的容器解决方案. Docker 是一个能将开发的程序自 ...
- JavaScript学习第四天
1.自定义属性,使用好索引值 例子: 下面有一段js代码: <script> window.onload = function(){ var oBtn = document.getElem ...
- 搭建iis本地测试服务器
在“开始”选择 “控制面板”,默认是以“类别”显示, 改成“小图标”显示 选择“程序和功能” 进入界面后,点击“启动或关闭Windows功能” 然后勾选图中的两个选框,注意一定要显示为 ...
- Codeforces Round #173 (Div. 2) E. Sausage Maximization —— 字典树 + 前缀和
题目链接:http://codeforces.com/problemset/problem/282/E E. Sausage Maximization time limit per test 2 se ...
- 坡道定点停车30cm
坡道定点停车与起步是科目二五项必考之一,想要顺利通过该项考试,学员需要掌握两个要点,一个是车身距离右侧边线30cm以内的距离,一个是定点时机.本期,元贝小编先和大家分享半坡起步右边30公分怎么看. ...
- 分布式session之token解决方案实现
基于令牌(Token)方式实现Session解决方案,因为Session本身就是分布式共享连接 用token代替session 废话不多说,看项目: pom.xml <project xmlns ...