1. 修改 hadoop 相关配置
1.1 配置 httpfs 服务
修改 hadoop 的配置文件core-site.xml
<property>
<name>hadoop.proxyuser.root.hosts<name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
hadoop.proxyuser.root.hosts
允许通过 httpfs 方式访问 hdfs 的主机名、域名;
hadoop.proxyuser.root.groups
允许访问的客户端的用户组
1.2 配置 jobhistory 服务
修改 hadoop 的配置文件mapred-site.xml
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
<description>MapReduce JobHistory Server IPC host:port</description>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node-1:19888</value>
<description>MapReduce JobHistory Server Web UI host:port</description>
</property>
<!-- 配置运行过的日志存放在 hdfs 上的存放路径 -->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/export/data/history/done</value>
</property>
<!-- 配置正在运行中的日志在 hdfs 上的存放路径 -->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/export/data/history/done_intermediate</value>
</property>
停止 history-server
mr-jobhistory-daemon.sh stop historyserver
启动 history-server
mr-jobhistory-daemon.sh start historyserver
通过浏览器访问 Hadoop Jobhistory 的 WEBUI
http://hadoop01:19888
1.3 重启 Hadoop 集群相关服务
start-all.sh
2. 上传 oozie 的安装包并解压
oozie 的安装包上传到/export/softwares,tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz
解压 hadooplibs 到与 oozie 平行的目录
cd /export/servers/oozie-4.1.0-cdh5.14.0
tar -zxvf oozie-hadooplibs-4.1.0-cdh5.14.0.tar.gz -C ../
3. 添加相关依赖
oozie 的安装路径下创建 libext 目录
cd /export/servers/oozie-4.1.0-cdh5.14.0
mkdir -p libext
拷贝 hadoop 依赖包到 libext
cd /export/servers/oozie-4.1.0-cdh5.14.0
cp -ra hadooplibs/hadooplib-2.6.0-cdh5.14.0.oozie-4.1.0-cdh5.14.0/* libext/
上传 mysql 的驱动包到 libext
mysql-connector-java-5.1.32.jar
添加 ext-2.2.zip 压缩包到 libext
ext-2.2.zip
4. 修改 oozie-site.xml
cd /export/servers/oozie-4.1.0-cdh5.14.0/conf
vim oozie-site.xml
oozie 默认使用的是 UTC 的 时区, 需要在 oozie-site.xml 当中 配置 时区为GMT+0800 时区
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://hadoop01:3306/oozie</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>root</value>
</property>
<property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>hadoop</value>
</property>
<property>
<name>oozie.processing.timezone</name>
<value>GMT+0800</value>
</property>
<property>
<name>oozie.service.coord.check.maximum.frequency</name>
<value>false</value>
</property>
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/export/servers/hadoop-2.7.5/etc/hadoop</value>
</property>
5.初始化 mysql 相关信息
上传 oozie 的解压后目录的下的 yarn.tar.gz 到 hdfs 目录
bin/oozie-setup.sh sharelib create -fs hdfs://node-1:9000 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz
本质上就是将这些 jar 包解压到了 hdfs 上面的路径下面去

创建 mysql 数据库
mysql -uroot -p
create database oozie;
初始化创建 oozie 的数据库表
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozie-setup.sh db create -run -sqlfile oozie.sql


6. 打包项目,生成 war 包
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozie-setup.sh prepare-war

7. 配置 oozie 环境变量
vim /etc/profile
export OOZIE_HOME=/export/servers/oozie-4.1.0-cdh5.14.0
export OOZIE_URL=http://node03.hadoop.com:11000/oozie
export PATH=$PATH:$OOZIE_HOME/bin
source /etc/profile
8. 启动关闭 oozie 服务
启动命令
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozied.sh start
关闭命令
bin/oozied.sh stop

启动的时候产生的 pid 文件,如果是 kill 方式关闭进程 则需要删除该文件 重新启动,否则再次启动会报错。
9.浏览器 web UI 页面
http://hadoop:11000/oozie/

10.解决 oozie 页面时区显示异常
页面访问的时候,发现 oozie 使用的还是 GMT 的时区,与我们现在的时区 相差一定的时间,所以需要调整一个 js 的获取时区的方法,将其改成我们现在的 时区。

修改 js 当中的时区问题
cd oozie-server/webapps/oozie
vim oozie-console.js
function getTimeZone(){
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
return Ext.state.Manager.get("TimezoneId","GMT+0800");
}
重启 oozie 即可
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozied.sh stop
bin/oozied.sh start
网友评论