1.Oozie共享库添加Spark2
1.1查看当前Oozie的share-lib共享库HDFS目录
oozie admin -oozie http://10.100.200.11:11000/oozie -sharelibupdate
1.2.在Oozie的/user/oozie/share/lib/lib_20181112142531创建spark2目录
sudo -u oozie hdfs dfs -mkdir /user/oozie/share/lib/lib_20181112142531/spark2
1.3.向spark2目录添加spark2的jars和oozie-sharelib-spark*.jar
注意;这里要将mysql和oracle的驱动包提前放在 /opt/cloudera/parcels/SPARK2/lib/spark2/jars 这个目录下。因为后期可能spark-sql可能会用到这个包。
进入上图的目录当中,然后执行文件的上传操作
sudo -u oozie hdfs dfs -put *.jar /user/oozie/share/lib/lib_20181112142531/spark2
cd /opt/cloudera/parcels/CDH/lib/oozie/oozie-sharelib-yarn/lib/spark 然后
sudo -u oozie hdfs dfs -put oozie-sharelib-spark*.jar /user/oozie/share/lib/lib_20181112142531/spark2
1.4.修改目录权限
sudo -u hdfs hdfs dfs -chmod -R 775 /user/oozie/share/lib/lib_20181112142531/spark2
1.5 .更新Oozie的share-lib
oozie admin -oozie http://10.100.200.11:11000/oozie -sharelibupdate
1.6.确认spark2已经添加到共享库
oozie admin -oozie http://10.100.200.11:11000/oozie -shareliblist
2.创建Spark2的Oozie工作流
2.1 新建workflow
在命令行将Spark2自带的example例子上传到自己指定的目录当中。
sudo -u hdfs hdfs dfs -put spark-examples_2.11-2.1.0.cloudera3.jar /user/gxg/
这里需要注意的是,这样设置的话oozie还是加载不到spark2的程序,还是相当于spark1的程序在调用。所以这个时候,我们需要配置spark的相关参数设置。
求pi的主类名称 org.apache.spark.examples.SparkPi
hue里面设置spark运行的参数: oozie.action.sharelib.for.spark spark2
设置完成之后,我们就可以保存然后启动spark2的程序了。
参考文档如下:
https://blog.csdn.net/worldchinalee/article/details/80594593
https://blog.csdn.net/zkf541076398/article/details/79941598