CentOS7下oozie的部署与运行

背景

整理下上个月学习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下最好用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值