编译
编译需要占用很大的内存,只创建一个app-11即可。
1、以hadoop用户登录。
命令:su – hadoop

2、在tmp目录下创建Oozie编译文件。
命令:mkdir /tmp/oozie

3、进入tmp根目录下。
命令:cd /tmp/

4、下载Spark-stack。
命令:git clone https://github.com/haiye1018/Spark-stack.git

5、进入Spark-stack/Oozie/目录下。
命令:cd Spark-stack/Oozie/

6、将buildOozie目录下的文件拷贝到Oozie编译文件中。
命令:cp buildOozie/* /tmp/oozie/

7、进入Oozie编译目录下。
命令:cd /tmp/oozie/

8、下载Oozie编译包。
命令:wget https://archive.apache.org/dist/oozie/5.0.0/oozie-5.0.0.tar.gz

9、解压。
命令:tar -xf oozie-5.0.0.tar.gz

10、 命令:rm -rf oozie-5.0.0/pom.xml

11、将下载的pom.xml拷贝到oozie-5.0.0目录下。
命令:cp pom.xml oozie-5.0.0/

12、创建Maven仓库。
命令:
mkdir -p /home/hadoop/.m2/repository/org/apache/maven/doxia/doxia-core/1.0-alpha-9.2y
mkdir -p /home/hadoop/.m2/repository/org/apache/maven/doxia/doxia-module-twiki/1.0-alpha-9.2y

13、将doxia-module-twiki-1.0-alpha-9.2y.jar拷贝到相应的Maven仓库下。
命令:cp doxia-module-twiki-1.0-alpha-9.2y.jar /home/hadoop/.m2/repository/org/apache/maven/doxia/doxia-module-twiki/1.0-alpha-9.2y/

14、将doxia-core-1.0-alpha-9.2y.jar拷贝到相应的Maven仓库下。
命令:cp doxia-core-1.0-alpha-9.2y.jar /home/hadoop/.m2/repository/org/apache/maven/doxia/doxia-core/1.0-alpha-9.2y

15、进入oozie-5.0.0文件下。
命令:cd oozie-5.0.0

16、开始编译。
命令:bin/mkdistro.sh -DskipTests -Dtez.version=0.9.0 -Ptez -P'spark-2' -Puber 注:编译的时间会非常长。

17、有两个安装包,一个在/tmp/oozie/oozie-5.0.0/distro/target/目录下。
命令:cd /tmp/oozie/oozie-5.0.0/distro/target/

18、另一个在安装包在/tmp/oozie/oozie-5.0.0/sharelib/target/目录下。
命令:cd /tmp/oozie/oozie-5.0.0/sharelib/target/

制作sharelib
启动集群
1、创建app-12和app-13。

2、在app-11上以root用户登录。
命令:sudo /bin/bash

3、进入hadoop根目录下。
命令:cd /hadoop/

4、三台机器的认证。
命令:./initHosts.sh

5、以hadoop用户登录。
命令:su - hadoop

6、进入hadoop根目录下。
命令:cd /hadoop/

7、启动集群。
命令:./startAll.sh

创建hive库
8、创建Oozie的目录。
命令:mkdir /tmp/Oozie

9、将编译之后的两个安装包拷贝到该目录下。
命令:cp /tmp/oozie/oozie-5.0.0/sharelib/target/oozie-sharelib-5.0.0.tar.gz /tmp/Oozie/
cp /tmp/oozie/oozie-5.0.0/distro/target/oozie-5.0.0-distro.tar.gz /tmp/Oozie/

10、进入Oozie目录下。
命令:cd /tmp/Oozie/

11、解压oozie-sharelib-5.0.0.tar.gz。
命令:tar -xf oozie-sharelib-5.0.0.tar.gz

12、进入lib目录下。
命令:cd share/、cd lib/

13、删除hive。
命令:rm -rf hive

14、进入hive2目录下。
命令:cd hive2/

15、将oozie-sharelib-hive2-5.0.0.jar备份到上级目录中。
命令:mv oozie-sharelib-hive2-5.0.0.jar ..

16、返回上级目录。
命令:cd ..

17、删除hive2目录下的文件。
命令:rm -rf hive2/*

18、将备份出来的jar文件移回hive2。
命令:mv oozie-sharelib-hive2-5.0.0.jar hive2/

19、将hive的master中的所有jar包拷贝到hive2中。
命令:scp app-12:/hadoop/Hive/apache-hive-3.1.1-bin/lib/* hive2/

20、查看hive2。
命令:ls hive2/

创建Spark库
21、创建存放spark的文件。
命令:mkdir spark2

22、将spark目录下的oozie-sharelib-spark-5.0.0.jar拷贝到spark2中。
命令:cp spark/oozie-sharelib-spark-5.0.0.jar spark2

23、将Spark的jar包文件拷贝到spark2中。
命令:cp /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/jars/* spark2

24、删除spark目录。
命令:rm -rf spark

25、返回Oozie目录。
命令:cd /tmp/Oozie/

26、解压oozie-5.0.0-distro.tar.gz。
命令:tar -xf oozie-5.0.0-distro.tar.gz

27、进入oozie-5.0.0目录下。
命令:cd oozie-5.0.0

28、删除oozie-sharelib-5.0.0.tar.gz包。
命令:rm -rf oozie-sharelib-5.0.0.tar.gz

29、删除oozie-examples.tar.gz包。
命令:rm -rf oozie-examples.tar.gz

30、将api-util-1.0.0-M20.jar拷贝到spark2中。
命令:cp embedded-oozie-server/webapp/WEB-INF/lib/api-util-1.0.0-M20.jar /tmp/Oozie/share/lib/spark2/ 注:如果不拷贝在操作中会出现问题。

31、为了支持pyspark,需要交pyspark相关的库拷贝到spark2中。
命令:cp /hadoop/Spark/spark-2.4.0-bin-hadoop3.1.2/python/lib/*.zip /tmp/Oozie/share/lib/spark2/
32、返回上层目录。
命令:cd ..

33、删除原来的压缩文件。
命令:rm -rf *.gz

34、打包文件。
命令:tar -czf oozie-sharelib-5.0.0.tar.gz share/、tar -czf oozie-5.0.0-distro.tar.gz oozie-5.0.0/

安装client和server
在app-11上安装server,server包含了client。可以安装多个client,在app-12和app-13上都可以安装client,但是server只有一个,在app-11上。
下载库
1、在集群的根目录下创建安装Oozie的目录。
命令:mkdir /hadoop/Oozie 
2、确保hadoop的配置文件内容齐全。
命令:vi /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/core-site.xml
注:如果没有需要手动添加,添加之后重启集群。

3、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/

4、将oozie-5.0.0-distro.tar.gz解压到Oozie安装目录下。
命令:tar -xf /tmp/Oozie/oozie-5.0.0-distro.tar.gz

5、进入解压之后的目录下。
命令:cd oozie-5.0.0/

6、创建web的库。
命令:mkdir libext

7、进入到libext目录下。
命令:cd libext/

8、下载mysql连接器。
命令:wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar

9、下载java Spring 库。
命令:wget http://archive.cloudera.com/gplextras/misc/ext-2.2.zip

修改配置文件
10、进入配置文件。
命令:cd /hadoop/Oozie/oozie-5.0.0/conf/

11、删除oozie-site.xml文件。
命令:rm -rf oozie-site.xml

12、将修改好的配置文件拷贝过来。
命令:cp /tmp/Spark-stack/Oozie/conf/oozie-site.xml ./

13、进入hadoop-conf目录下。
命令:cd hadoop-conf

14、删除hadoop-conf下所有文件。
命令:rm -rf *

15、拷贝hadoop的相应配置文件。
命令:
cp /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/core-site.xml ./
cp /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/hdfs-site.xml ./
cp /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/yarn-site.xml ./
cp /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/mapred-site.xml ./

配置mysql
1、在app-12上,选择hadoopmysql下的new terminal。

2、启动mysql。
命令:mysql -uroot -p

3、创建databases。
命令:create database oozie;

4、创建用户。
命令:create user "oozie"@"%" identified by "Yhf_1018";

5、给用户赋权限。
命令:grant all privileges on oozie.* to "oozie"@"%" with grant option;

6、flush配置。
命令:flush privileges;

7、退出mysql。
命令:quit;

Sharelib的制作和Oozie启动
1、在app-11上,进入安装Oozie的目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/

2、创建sharelib。
命令:bin/oozie-setup.sh sharelib create -fs hdfs://dmcluster -locallib /tmp/Oozie/oozie-sharelib-5.0.0.tar.gz
注:将share上传到hdfs。提交信息的时候在/user/hadoop/share/lib/lib_20201105132658位置寻找版本信息sharelib。

3、查看sharelib。
命令:hdfs dfs -ls /user/hadoop/share/lib/lib_20201105132658

4、将mysql-connector-java-8.0.11.jar拷贝到lib目录下。
命令:cp libext/mysql-connector-java-8.0.11.jar lib/

5、初始化databases。
命令:bin/oozie-setup.sh db create -run
注:进行了创建和验证并且生成了一个sql文件。

6、启动Oozie。
命令:bin/oozie-start.sh

7、查看11000端口(Oozie对外访问的端口号)是否启动。
命令:netstat -tnl
注:不要着急查看等待30秒。

8、登录端口号查看。
使用内部的Chrome,输入:app-11:11000 注:现在还没有Oozie任务所以是空的。

9、检验系统里用的是哪个sharelib。
命令:bin/oozie admin -shareliblist

设置自动化启停脚本
1、打开hadoop的config加上Oozie。
命令:vi /hadoop/config.conf export OOZIE_IS_INSTALL=True

2、source环境变量。
命令:source ~/.bashrc

3、确认start.all脚本有Oozie。
命令:vi /hadoop/startAll.sh
注:Oozie在最后,因为它依赖hadoop和Spark。

4、下载Oozie启停脚本。
命令:cp /tmp/Spark-stack/Oozie/sh/* /hadoop/tools/

5、进入hadoo的tools目录下。
命令:cd /hadoop/tools/

6、赋予执行权限。
命令:chmod -R a+x *Oozie*

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
