oozie调度插件的使用(二) 安装

2020-07-07  本文已影响0人  做个合格的大厂程序员

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 上面的路径下面去

image

创建 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
image image

6. 打包项目,生成 war 包

cd /export/servers/oozie-4.1.0-cdh5.14.0 

bin/oozie-setup.sh prepare-war
image

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
image

启动的时候产生的 pid 文件,如果是 kill 方式关闭进程 则需要删除该文件 重新启动,否则再次启动会报错。

9.浏览器 web UI 页面

http://hadoop:11000/oozie/

image

10.解决 oozie 页面时区显示异常

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

image

修改 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
上一篇下一篇

猜你喜欢

热点阅读