概述
背景
整理下上个月学习CentOS7下部署运行oozie的笔记,里面用到的oozie和hadoop都是cdh版的
安装部署Hadoop
1、新建cdh文件夹,把hadoop和oozie的压缩包解压到cdh文件夹里面
mkdir cdh
tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz -C cdh
tar -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文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.57.141:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.57.141:19888</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.57.141:50091</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resoucemanager.hostname</name>
<value>192.168.57.141</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
core-site.xml,注意后两个属性中的szc换成自己的用户名,另外hadoop.tmp.dir对应的目录也要自己创建
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.57.141:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/szc/cdh/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.szc.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.szc.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property
</configuration>
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 --permanent
success
[root@localhost sbin]# firewall-cmd --reload
success
再在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]# ll
total 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配置文件中的以下几个属性
<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://192.168.0.102: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>root</value>
</property>
<property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/home/szc/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop</value> <!-- hadoop配置文件的绝对路径 -->
</property>
前四个换成自己的mysql驱动、数据库url、数据库用户名和密码,最后一个换成自己hadoop配置文件的绝对路径
4、在mysql数据库中,新建oozie数据库,允许虚拟机ip连接,并修改时区
mysql> UPDATE mysql.user SET Host='%' WHERE Host='192.168.57.141';
Query OK, 0 rows affected
mysql>
grant all on *.* to 'root'@'%' IDENTIFIED BY 'root' with grant option;
Query OK, 0 rows affected
mysql> create database oozie;
Query OK, 1 row affected
mysql>
set global time_zone = '+8:00';
Query OK, 0 rows affected
mysql>
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 Connection
Loading 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.
DONE
Check DB schema does not exist
DONE
Check OOZIE_SYS table does not exist
DONE
Create SQL schema
DONE
Create OOZIE_SYS table
DONE
Oozie 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-ports
9999/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下最好用
最后
以上就是坦率宝贝为你收集整理的CentOS7下oozie的部署与运行背景安装部署Hadoopoozie配置oozie部署oozie启动与关闭结语的全部内容,希望文章能够帮你解决CentOS7下oozie的部署与运行背景安装部署Hadoopoozie配置oozie部署oozie启动与关闭结语所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复