本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!