关于oozie

一、定义

1.oozie是一个管理apache hadoop作业的工作调度系统
2.oozie的workflow jobs是由actions组成的有向无环图(DAG)
3.oozie的coordinate jobs是由时间(频率)和数据可用性的重复的workflow jobs .
4.oozie 与hadoop生态圈的其他部分及车鞥在一起,支持多种类型的hadoop作业(如java程序和shell脚本)

二、特点

工作流定义:oozie是通过xml定义。
部署过程:oozie的部署相对困难些,同时它是从yarn上拉任务日志。
任务检测:oozie能有效的检测任务的成功与失败。
操作工作流:oozie支持web、ResttApi、java API操作。
权限控制:oozie基本无权限控制
运行环境:oozie的action主要运行在hadoop中,oozie记录workflow的状态将其保存在mysql中。
出现失败的情况:oozie可以在继续失败的工作流运行

三、原理详解

1.主要概念:
workflow : 工作流,由我们需要处理的每个工作组成,进行需求的流式处理。
Coordinator: 协调器,可以理解为工作流的协调器,可以将多个工作流协调成一个工作流来进行处理。
Bundle:捆,束。将 一对的coordinator进行汇总处理。
2.job组成
job.properties : 记录了job的属性
workflow.xml:使用hPDL定义任务的流程和分支
lib目录: 用来执行具体的任务

注意:
1)这个文件如果是在本地通过命令进行任务提交的话,这个文件在本地就可以,当然也可以放在hdfs上,与workflow.xml和lib处于同一级
2)NameNode,jobTracker和workflow.xml在hhdfs 中的位置必须设置。

job.properties
在这里插入图片描述
在这里插入图片描述

控制流接点:主要包括start 、end、 fork、 join等,其中fork、join成对出现,在fork展开,分支,最后join接点汇聚。
1)start
2)kill
3)end

动作节点:包括hadoop任务、SSH 、HTTP、EMAIL、OOZIE子任务
1)ok–>end
2)error—>end
3)定义具体需要执行的job任务
4)MapReduce、shell、hive
文件需要被放在 HDFS 上才能被oozie调度,如果在启动需要调动MR任务,jar包同样需要在HDFS上
lib目录:在workflow工作流定义的统计目录下,需要有一个lib目录,在lib目录中存在java节点
MapReduce使用的jar包

需要注意的是,oozieb并不是使用指定jar包的名称来启动任务的,而是通过指定主类来启动任务的。在lib包中绝对不能存在某个jar包的不同版本,不能出现多个相同的主类。

3.workflow介绍

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值