CentOS7下oozie的部署与运行
发布日期:2021-06-22 10:31:00 浏览次数:4 分类:技术文章

本文共 5597 字,大约阅读时间需要 18 分钟。

背景

整理下上个月学习CentOS7下部署运行oozie的笔记,里面用到的oozie和hadoop都是cdh版的

安装部署Hadoop

1、新建cdh文件夹,把hadoop和oozie的压缩包解压到cdh文件夹里面

mkdir cdhtar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz -C cdhtar -zxvf oozie-4.0.0-cdh5.3.6.tar.gz -C cdh

2、切换到hadoop解压目录下的etc/hadoop目录,修改hadoop-env.sh、mapred-env.sh、mapred-site.xml.template、hdfs-site.xml、yarn-site.xml、core-site.xml和slaves七个文件。

两个env都只修改文件上方的JAVA_HOME即可(我的CentOS中java1.8是安装在/home/szc/jdk8_64目录下,所以JAVA_HOME设置为/home/szc/jdk8_64)

export JAVA_HOME=/home/szc/jdk8_64

mapred-site.xml.template文件作如下修改后,再重命名为mapred-site.xml文件

mapreduce.framework.name
yarn
mapreduce.jobhistory.address
192.168.57.141:10020
mapreduce.jobhistory.webapp.address
192.168.57.141:19888

hdfs-site.xml

dfs.replication
1
dfs.namenode.secondary.http-address
192.168.57.141:50091

yarn-site.xml

yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resoucemanager.hostname
192.168.57.141
yarn.log-aggregation-enable
true
yarn.log-aggregation.retain-seconds
604800

core-site.xml,注意后两个属性中的szc换成自己的用户名,另外hadoop.tmp.dir对应的目录也要自己创建

fs.defaultFS
hdfs://192.168.57.141:8020
hadoop.tmp.dir
/home/szc/cdh/hadoop-2.5.0-cdh5.3.6/data/tmp
hadoop.proxyuser.szc.hosts
*
hadoop.proxyuser.szc.groups
*
hadoop.proxyuser.root.hosts
*
hadoop.proxyuser.root.groups
*

slaves

192.168.57.141

上面的所有ip,都是centos的本机ip

3、格式化hdfs

切换到hadoop解压目录的bin目录下,然后运行命令

hdfs namenode -format

完成后的截图如下

4、启动相应的进程

切换到hadoop解压目录的sbin目录下,运行start-dfs.sh、start-yarn.sh启动hdfs和yarn,在运行下面命令启动historyserver

./mr-jobhistory-daemon.sh start historyserver

5、windows浏览器查看集群的ui界面

先开放50070端口

[root@localhost sbin]# firewall-cmd --add-port=50070/tcp --permanentsuccess[root@localhost sbin]# firewall-cmd --reloadsuccess

再在windows浏览器里输入centos的ip:50070,回车后会显示如下界面

 至此,hadoop部署完成

oozie配置

1、切换到oozie的解压目录下,解压oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz到上层目录

# tar -zxvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz  -C ../

完成后当前目录下会有一个hadooplibs目录

[root@localhost oozie-4.0.0-cdh5.3.6]# lltotal 553868...drwxr-xr-x.  4 1106 4001       116 Jul 29  2015 hadooplibs...

2、新建libext目录,先把hadooplibs目录下不带mr1的子目录里所有内容复制到libext目录中

# cp hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/

再把ext的zip包和mysql连接驱动的jar包复制到libext目录中

# cp ../../ext-2.2.zip libext/# cp ../../mysql-connector-java-8.0.16.jar libext/

3、修改conf/oozie-site.xml配置文件中的以下几个属性

oozie.service.JPAService.jdbc.driver
com.mysql.jdbc.Driver
oozie.service.JPAService.jdbc.url
jdbc:mysql://192.168.0.102:3306/oozie
oozie.service.JPAService.jdbc.username
root
oozie.service.JPAService.jdbc.password
root
oozie.service.HadoopAccessorService.hadoop.configurations
*=/home/szc/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop

前四个换成自己的mysql驱动、数据库url、数据库用户名和密码,最后一个换成自己hadoop配置文件的绝对路径

4、在mysql数据库中,新建oozie数据库,允许虚拟机ip连接,并修改时区

mysql> UPDATE mysql.user SET Host='%' WHERE Host='192.168.57.141';Query OK, 0 rows affectedmysql>  grant all on *.* to 'root'@'%' IDENTIFIED BY 'root' with grant option;Query OK, 0 rows affectedmysql> create database oozie;Query OK, 1 row affectedmysql>  set global time_zone = '+8:00';Query OK, 0 rows affectedmysql>  flush privileges;Query OK, 0 rows affected

oozie部署

1、把oozie的yarn库上传到hdfs中的sharelib目录下

bin/oozie-setup.sh sharelib create -fs hdfs://192.168.57.141 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

完成后的截图如下所示

在Hadoop的web界面->utilities->browse the file system中也可以找到新上传并自动解压的lib目录

2、执行数据库脚本,创建表和oozie.sql文件

[root@localhost oozie-4.0.0-cdh5.3.6]# bin/ooziedb.sh create -sqlfile oozie.sql -run  setting CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"Validate DB ConnectionLoading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.DONECheck DB schema does not existDONECheck OOZIE_SYS table does not existDONECreate SQL schemaDONECreate OOZIE_SYS tableDONEOozie DB has been created for Oozie version '4.0.0-cdh5.3.6'The SQL commands have been written to: oozie.sql

生成的表如下所示

3、打包项目

# bin/oozie-setup.sh prepare-war

完成后的输出如下所示

至此,oozie就可以启动了。

部署一次,就可以启动多次。

oozie启动与关闭

1、启动

# bin/oozied.sh start

启动后,开放11000端口,可以在windows浏览器下访问oozie的webUI

2、关闭

# bin/oozied.sh stop

结语

总结下需要开启的端口号

# firewall-cmd --list-ports9999/tcp 22/tcp 8001/tcp 8080/tcp 81/tcp 80/tcp 8081/tcp 21/tcp 20/tcp 9001/tcp 50070/tcp 11000/tcp 8088/tcp 8042/tcp 8032/tcp 19888/tcp

不得不说,Hadoop、oozie这些东西还是在linux下最好用

转载地址:https://blog.csdn.net/qq_37475168/article/details/105947977 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CentOS7下oozie调度任务案例
下一篇:CentOS安装docker

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月31日 22时03分43秒