Oozie是什么
Apache Oozie Workflow Scheduler for Hadoop
Oozie is a workflow scheduler system to manage Apache Hadoop jobs.
Oozie 是一个工作流调度系统用来管理 Hadoop 任务
工作流调度:工作流程的编排,调度:安排事件的触发执行(时间触发,事件触发)
Oozie is integrated with the rest of the Hadoop stack supporting several types of Hadoop jobs out of the box (such as Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop and Distcp) as well as system specific jobs (such as Java programs and shell scripts).
Oozip 集成了 Hadoop 其他的几种协议(如 MapReduce Pig Hive Sqoop Distcp)和系统专有的任务(如 java程序 shell脚本)
底层是一个仅有 Map Task 的 MapReduce 程序
一、横向比较
1.Linux Crontab Linux自带的定时任务指令(写绝对路径)
特点:简单,结合 shell 脚本能实现大部分的功能
缺点:太简单了,没有监控界面

crontab: usage error: unrecognized option
usage: crontab [-u user] file 指向文件
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab) 指定编辑器
-l (list user's crontab) 列表
-r (delete user's crontab) 删除
-i (prompt before deleting user's crontab) 删除前提示
minute hour day month week command
0-60 0-24 0-31 1-12 0-7( 0=7=周日 )
( * ):所有可能的值
( , ):并列
( - ):范围
( / ):频率
eg:
# 每周六晚上8点-12点每30分钟加早上10点执行一次
0-60/30 20-7,8 * * 6 /bin/ls
2.AzKaban Linkedin 公司一个开源的工作流管理程序
特点:简单得一塌糊涂,又漂亮的不像实力派
缺点:...

Azkaban
3.Oozie Apache 顶级项目
特点:Apache 出品,强大
缺点:存在 jar 包冲突,长得不是一般的丑(程序员就不该有审美)

Oozie
4.Zeus 宙斯 阿里开源的框架(找不到了,阿里遗弃了?)
特点:比较简单,阿里出品,有中文文档,中文界面
缺点:小众,毕竟国内
关于Oozie(拷贝模板改之)
1.Oozie是 Cloudeara 公司共享给 Apache 的一个开源顶级项目,提供对 Hadoop MapReduce Hive Pig 的任务的调度;Oozie需要部署到一个 Java Servlet 容器中(如:Tomcat)运行,需要使用关系型数据库存储调度信息
2.Oozie 工作流的定义,同 Jboss jBPM 提供的 jPDL 一样,提供了类似流程定义语言 hPDL ,通过 XML 格式实现流程定义。对于工作流系统,一般都会有很多不同的功能节点,如分支、并发、汇合等
3.Ooize 定义了**控制流节点 Control Flow Nodes 和动作节点 Action Nodes **。其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径( Execution Path ) ,如 decision / fork / join 等;而动作节点包括 Hadoop MapReduce / HDFS / Pig / SSH / HTTP / eMail / Oozie 子流程等。
关于各个版本的架构(重点)
Oozie v1 is a server based Workflow Engine 工作流引擎 specialized专门 in running workflow jobs with actions that execute Hadoop Map/Reduce and Pig jobs.

Oozie v2 is a server based Coordinator Engine 协调引擎 specialized in running workflows based on time and data triggers(时间触发 数据触发). It can continuously不断地 run workflows based on time (e.g. run it every hour), and data availability (e.g. wait for my input data to exist before running my workflow).

Oozie v3 is a server based Bundle Engine 绑定引擎 that provides a higher-level oozie abstraction抽象 that will batch批量 a set of coordinator applications. The user will be able to start/stop/suspend暂停/resume继续/rerun a set coordinator jobs in the bundle level(捆绑包层次) resulting a better and easy operational control.
v3提供了一个更高级别的抽象Oozie,将批处理一组协调应用程序。

整体服务框架

- 左侧:Oozie 通过 Tomcat Http Server 对外提供了 JAVA API 、REST API 、CLI(终端) 、Web 接口(hue) ;产生的数据存储在 Oozie object dstabase 上
- 中间:Oozie 的三层结构
- 右侧:Oozie 的 Coordinator Engine 协调引擎 能够监控基于 Time-based triggers 和 HDFS 上的 Data-based triggers;每一个 Oozie Job 都是一个只有 Map Task 的 MapReduce 程序
Oozie是什么的更多相关文章
- Oozie分布式任务的工作流——Spark篇
Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...
- 大数据之Oozie——源码分析(一)程序入口
工作中发现在oozie中使用sqoop与在shell中直接调度sqoop性能上有很大的差异.为了更深入的探索其中的缘由,开始了oozie的源码分析之路.今天第一天阅读源码,由于没有编译成功,不能运行测 ...
- Oozie分布式任务的工作流——邮件篇
在大数据的当下,各种spark和hadoop的框架层出不穷.各种高端的计算框架,分布式任务如乱花般迷眼.你是否有这种困惑!--有了许多的分布式任务,但是每天需要固定时间跑任务,自己写个调度,既不稳定, ...
- Oozie 快速入门
设想一下,当你的系统引入了spark或者hadoop以后,基于Spark和Hadoop已经做了一些任务,比如一连串的Map Reduce任务,但是他们之间彼此右前后依赖的顺序,因此你必须要等一个任务执 ...
- Oozie分布式任务的工作流——脚本篇
继前一篇大体上翻译了Email的Action配置,本篇继续看一下Shell的相关配置. Shell Action Shell Action可以执行Shell脚本命令,工作流会等到shell完全执行完毕 ...
- Oozie调度报错——ORA-00918:未明确定义列
Oozie在执行sqoop的时候报错,同样的SQL在sqoop中可用,在oozie中不可用: Caused by: java.sql.SQLSyntaxErrorException: ORA-0091 ...
- Oozie分布式任务的工作流——Sqoop篇
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...
- 工作流引擎Oozie(一):workflow
1. Oozie简介 Yahoo开发工作流引擎Oozie(驭象者),用于管理Hadoop任务(支持MapReduce.Spark.Pig.Hive),把这些任务以DAG(有向无环图)方式串接起来.Oo ...
- 工作流引擎Oozie(二):coordinator
1. 简介 coordinator是workflow的定时提交器,基于时间条件与数据生成触发(based on time and data triggers).简单点说,coordinator按所定义 ...
- #数据技术选型#即席查询Shib+Presto,集群任务调度HUE+Oozie
郑昀 创建于2014/10/30 最后更新于2014/10/31 一)选型:Shib+Presto 应用场景:即席查询(Ad-hoc Query) 1.1.即席查询的目标 使用者是产品/运营/销售 ...
随机推荐
- appium (三)执行过程
转自http://blog.csdn.net/Yejianyun1/article/details/56012470 appium界面运行过程: 1.启动一个http服务器:127.0.0.1:4 ...
- $("#Upfile").MultiFile();
Jquery的multifile 1.多文件上传: 2.如上几个验证不重复,和限制上传数量的验证显示的是英文,改成中文文本时,如果不用国标解码,到时候提示框会出现乱码现象.所以一般需要中文显示的时候, ...
- [转]用jwplayer+Nginx搭建视频点播服务器,解决拖动加载慢的问题
flv视频可以采用两种方式发布: 一.普通的HTTP下载方式 二.基于Flash Media Server或Red5服务器的rtmp/rtmpt流媒体方式. 多数知名视频网站都采用的是前一种方式. 两 ...
- PointCNN 论文翻译解析
1. 前言 卷积神经网络在二维图像的应用已经较为成熟了,但 CNN 在三维空间上,尤其是点云这种无序集的应用现在研究得尤其少.山东大学近日公布的一项研究提出的 PointCNN 可以让 CNN 在点云 ...
- leetcode:栈
1. evaluate-reverse-polish-notation Evaluate the value of an arithmetic expression in Reverse Polish ...
- 为什么CRM Opportunity的删除会触发一个通向BW系统的RFC
今天工作时我发现,我在SE38里用函数CRM_ORDER_DELETE删除一个Opportunity,居然弹出下图这个SAP Logon的屏幕,要连接BR1.这是什么鬼?! 查了一下,BR1是BW系统 ...
- Selenium入门系列2 窗口大小控制
selenium控制窗口最大化.适合手机的宽度.适合pad的宽度等尝试下实例,网站是否做了响应式布局 #coding=utf-8 # 改变浏览器窗口大小.前进后退 from selenium impo ...
- 2019.03.14 ZJOI2019模拟赛 解题报告
得分: \(100+100+0=200\)(\(T1\)在最后\(2\)分钟写了出来,\(T2\)在最后\(10\)分钟写了出来,反而\(T3\)写了\(4\)个小时爆\(0\)) \(T1\):风王 ...
- Android检查更新(是否强制更新)
Android应用客户端通常会需要更新,而且根据需求分为普通更新和强制更新.是否强制更新可通过检查更新时从服务器获取的标志位来判断. public class UpdateManager { priv ...
- 编译安装 mysql 5.5,运行 cmake报错Curses library not found
是因为 curses库没有安装,执行下面的语句即可 yum -y install ncurses-devel 如果上述命令的结果是no package,则使用下面的命令安装 apt-get insta ...