任务调度之Oozie简介

一、Oozie 简介
Oozie 英文翻译为:驯象人。一个基于工作流引擎的开源框架,由 Cloudera 公司贡献给Apache,提供对 Hadoop Mapreduce、Pig Jobs 的任务调度与协调。Oozie 需要部署到 Java Servlet 容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。

二、Oozie 的功能模块介绍
2.1、模块

  1. Workflow
    顺序执行流程节点,支持 fork(分支多个节点),join(合并多个节点为一个)
  2. Coordinator
    定时触发 workflow
  3. Bundle Job
    绑定多个 Coordinator
    2.2、常用节点
  4. 控制流节点(Control Flow Nodes)
    控制流节点一般都是定义在工作流开始或者结束的位置,比如 start,end,kill 等。以及提供工作流的执行路径机制,如 decision,fork,join 等。
  5. 动作节点(Action Nodes)
    负责执行具体动作的节点,比如:拷贝文件,执行某个 Shell 脚本等等。

三、Oozie 的部署
3.1 下载安装包并解压到指定目录
3.2 在原来学习的基础上修改 Hadoop 配置信息如下:
core-site.xml

<!-- Oozie Server 的 Hostname -->
<property>
<name>hadoop.proxyuser.admin.hosts</name>
<value>*</value>
</property>
<!-- 允许被 Oozie 代理的用户组 -->
<property>
<name>hadoop.proxyuser.admin.groups</name>
<value>*</value>
</property>

mapred-site.xml

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口 10020 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>linux01:10020</value>
</property>
<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口 19888 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>linux01:19888</value>
</property>

yarn-site.xml

<!-- 任务历史服务 -->
<property>
<name>yarn.log.server.url</name>
<value>http://linux01:19888/jobhistory/logs/</value>
</property>

3.3 将配置文件同步到集群的其它节点
3.4 重启Hadoop集群
3.5 在 oozie 根目录下解压 hadooplibs
3.6 在 Oozie 根目录下创建 libext 目录
3.7 拷贝一些依赖的 jar 包
1.将 hadooplibs 里面的 jar 包,拷贝到 libext 目录下
2.拷贝 Mysql 驱动包到 libext 目录下
3.8 将 ext-2.2.zip 拷贝到 libext/目录下
3.9 修改Oozie配置文件
oozie-site.xml

属性:oozie.service.JPAService.jdbc.driver
属性值:com.mysql.jdbc.Driver
解释:JDBC 的驱动

属性:oozie.service.JPAService.jdbc.url 
属性值:jdbc:mysql://linux01:3306/oozie 
解释:oozie 所需的数据库地址

属性:oozie.service.JPAService.jdbc.username 
属性值:root
解释:数据库用户名

属性:oozie.service.JPAService.jdbc.password 
属性值:123456
解释:数据库密码

属性:oozie.service.HadoopAccessorService.hadoop.configurations
属性值:*=/home/admin/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop
解释:让Oozie 引用 Hadoop 的配置文件

3.10 在 Mysql 中创建 Oozie 的数据库
1.上传 Oozie 目录下的 yarn.tar.gz 文件到 HDFS
2. 创建 oozie.sql 文件
3. 打包项目,生成 war 包
3.11 启动、关闭 Oozie 服务

$ bin/oozied.sh start
$ bin/oozied.sh stop

3.12 访问 Oozie 的 Web 页面

http://主机IP:11000/oozie

完!

猜你喜欢

转载自blog.csdn.net/Forever_ck/article/details/85240348