什么是Oozie——大数据任务调度框架

本文详细介绍了Oozie作为大数据协作框架之一,在任务调度、协调HadoopMapReduce和PigJobs方面的作用。Oozie需要部署于JavaServlet容器,并支持与Azkaban、Zeus等类似功能的框架竞争。主要功能包括工作流定义、定时触发和BundleJob整合,通过hPDL流程定义语言实现。工作流系统包含控制流节点和动作节点,覆盖Hadoop、Pig、SSH、HTTP等多种操作。Oozie提供详细的配置指南和CLI命令,用于启动、停止、提交和监控任务执行情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oozie简介

  • Oozie是大数据四大协作框架之一——任务调度框架,另外三个分别为数据转换工具Sqoop,文件收集库框架Flume,大数据WEB工具Hue。
  • 它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。
  • Oozie需要部署到Java Servlet容器中运行。
  • 功能相似的任务调度框架还有Azkaban和Zeus。

Oozie三大功能模块

这里写图片描述

从图中不难看出,Oozie主要有三大功能模块构成:

  • workflow(工作流):定义job任务执行。
  • Coordinator:定时触发workflow,周期性执行workflow
  • Bundle Job:绑定多个coordinator,一起提交或触发所以coordinator

Oozie工作流

  • Oozie工作流定义,同JBoss jBPM提供的jPDL一样,也提供了类似的流程定义语言hPDL,通过XML文件格式来实现流程的定义。对于工作流系统,一般都会有很多不同功能的节点,比如分支、并发、汇合等等。
  • Oozie定义了控制流节点(Control Flow Nodes)和动作节点(Action Nodes),其中控制流节点定义了流程的开始和结束,以及控制流程的执行路径(Execution Path),如decision、fork、join等;而动作节点包括Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、eMail和Oozie子流程。
  • oozie本质就是一个作业协调工具(底层原理是通过将xml语言转换成mapreduce程序来做,但只是在集中map端做处理,避免shuffle的过程。)

这里写图片描述

执行workflow之前首先要进行相关配置:

  • job.properties 定义job相关属性以及参数
  • workflow.xml 定义控制流和动作节点
  • lib 存放job任务运行的相关资料文件[jar]

特别注意:

Oozie的工作流必须是一个有向无环图,实际上Oozie就相当于Hadoop的一个客户端,当用户需要执行多个关联的MR任务时,只需要将MR执行顺序写入workflow.xml,然后使用Oozie提交本次任务,Oozie会托管此任务流。


Oozie Cli命令

注意:使用Oozie之前必须先启动hdfs,yarn和jobhistory,这里jobhistory一开始很容易忘~

l 启动任务

oozie job -oozie oozie_url -config job.properties_address -run

l 停止任务

oozie job -oozie oozie_url -kill jobId -oozie-oozi -W

l 提交任务

oozie job -oozie oozie_url -config job.properties_address -submit

l 开始任务

oozie job -oozie oozie_url -config job.properties_address -startJobId -oozie-oozi -W

l 查看任务执行情况

oozie job -oozie oozie_url -config job.properties_address -info jobId -oozie-oozi -W


说明: 所有的命令都是以oozie job -oozie oozie_url 开头的-config 制定job.properties文件夹的位置,-run 文件启动后会返回一个唯一的jobId,供之后使用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值