参考: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.0/bk_spark-component-guide/content/ch_oozie-spark-action.html#spark-config-oozie-spark2
如果在oozie 中调度 spark 2. 需要做以下修改
执行以下命令准备好相应的 jar 包
cd $SPARK_HOME
hdfs dfs -mkdir -p /share/lib/spark2
hdfs dfs -put jars/ /share/lib/spark2/
hdfs dfs -cp /user/hadoop/share/lib/lib_20190125144014/spark/oozie-sharelib-spark-*.jar /share/lib/spark2/jars
hdfs dfs -put conf/hive-site.xml /share/lib/spark2
hdfs dfs -mkdir /share/lib/spark2/python
hdfs dfs -put python/lib /share/lib/spark2/python
在 job.properties 中设置
oozie.action.sharelib.for.spark=spark2
oozie.libpath=/share/lib/spark2/jars/,/share/lib/spark2/python/lib/,/share/lib/spark2/hive-site.xml
也可以直接在 oozie 的 sharelib 上做修改,只要将上述的 /share/lib/spark2
路径修改为 oozie 的 sharelib 路径 /user/hadoop/share/lib/lib_20190125144014/spark2
然后执行命令 oozie admin –sharelibupdate
刷新 sharelib 列表, 引入 spark2.
执行命令验证 spark2 是否成功导入 oozie admin –shareliblist spark2
目前oozie 5.1.0 支持的 spark 的 lib, 为 spark 1.6.1 . pyspark 和 py4j 都是较老版本
原因是 oozie 设置的 spark lunner 里少了 环境变量 PYSPARK_GATEWAY_SECRET
从此处下载 https://github.com/apache/spark/tree/branch-1.6/python/lib 下载 py4j
将 pyspark 下载之后 按zip 压缩 上传到 oozie 的 sharelib 目录