您的当前位置:首页正文

大数据组件之oozie

2022-07-24 来源:世旅网

有网友碰到这样的问题“大数据组件之oozie”。小编为您整理了以下解决方案,希望对您有帮助:

解决方案1:

官网首页介绍: http://oozie.apache.org

简单项目的话可以用crontab来做控制,但是项目比较复杂的话会发现还是有很多不方便的,比如失败重启和日志查看等问题,所以我们通常在Azkaban和oozie之间做对比,选择适合自己公司或者项目的任务调度工具

Oozie主要有三个层层包裹的主要概念

Oozie的作业有三部分组成,分别是job.properties,workflow.xml,lib文件夹。下面分别介绍

从名称也能看出来,这个文件是用来配置作业(job)中用到的各种参数的,总结如下

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

一个简单的job.properties文件如下:

这个文件是定义任务的整体流程的文件,需要注意的有三点:版本信息,EL函数,节点信息。
先上一个例子:

在xmls属性中定义了workflow的版本为0.4,workflow的版本不能高于oozie兼容的最高版本,可以降低。

A. 流程控制节点

案例:

B. 动作节点

Workflow.xml综述
文件需要被放在HDFS上才能被oozie调度,如果在启动需要调动MR任务,jar包同样需要在hdfs上。最终的目录结构如下:

在workflow工作流定义的同级目录下,需要有一个lib目录,在lib目录中存在java节点MapReduce使用的jar包。需要注意的是,oozie并不是使用指定jar包的名称来启动任务的,而是通过制定主类来启动任务的。在lib包中绝对不能存在某个jar包的不同版本,不能够出现多个相同主类。

在搭建好CDH后,可以直接通过添加服务的方式实现oozie的安装,比较方便。当然也可以在服务器上搭建独立的oozie服务,具体可参考 https://oozie.apache.org/docs/5.0.0/AG_Install.html

搭设后进入oozie web控制台,地址为:OozieserverIp:11000/oozie/ (OozieserverIp为oozie所在的服务器的ip地址),界面如下:

1.拷贝官方自带实例模板

2.修改job.properties

3.修改workflow.xml

4.在shell目录下创建mem.sh

注:/usr/bin/date为命令绝对路径,可以通过which date获得

5.上传到hdfs

6.执行:

7.检查结果

显示全文