Oozie的安装
Oozie 简介
Oozie 英文翻译为:驯象人。一个基于工作流引擎的开源框架,由 Cloudera 公司贡献给Apache,提供对 Hadoop Mapreduce、Pig Jobs 的任务调度与协调。Oozie 需要部署到 JavaServlet 容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。
部署
解压 Oozie
$ tar -zxf ~/softwares/installations/cdh/oozie-4.0.0-cdh5.3.6.tar.gz -C ./
修改 Hadoop 配置(原来的基础上添加如下内容)
<!-- Oozie Server 的 Hostname -->
<property>
<name>hadoop.proxyuser.admin.hosts</name>
<value>*</value>
</property>
<!-- 允许被 Oozie 代理的用户组 -->
<property>
<name>hadoop.proxyuser.admin.groups</name>
<value>*</value>
</property>
hadoop.proxyuser.admin.hosts 类似属性中的 admin 用户替换成你的 hadoop 用户
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>
在 oozie 根目录下解压 hadooplibs
$ tar -zxf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C ../
在 Oozie 根目录下创建 libext 目录
$ mkdir libext/
将 hadooplibs 里面的 jar 包,拷贝到 libext 目录下
$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/
拷贝 Mysql 驱动包到 libext 目录下
$ cp -a ~/softwares/installations/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar
libext/
3.1.7将 ext-2.2.zip 拷贝到 libext/目录下
ext 是一个 js 框架,用于展示 oozie 前端页面
$ cp -a ~/softwares/installations/cdh/ext-2.2.zip libext/
3.1.8修改 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 的配置文件
在 Mysql 中创建 Oozie 的数据库
进入 Mysql 并创建 oozie 数据库:
$ mysql -uroot -p123456
mysql> create database oozie;
初始化Oozie
上传 Oozie 目录下的 yarn.tar.gz 文件到 HDFS:
yarn.tar.gz 文件会自行解压
$ bin/oozie-setup.sh sharelib create -fs hdfs://linux01:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz
创建 oozie.sql 文件
$ bin/oozie-setup.sh db -run -sqlfile oozie.sql
打包项目,生成 war 包 需要安装unzip
$ bin/oozie-setup.sh prepare-war
启动 Oozie 服务
$ bin/oozied.sh start
访问 Oozie 的 Web 页面
http://linux01:11000/oozie