我想要实现的是构建和安装Oozie 4.2.0,这将使我能够将Spark作业提交到YARN群集。
我通过执行:oozie-4.2.0/bin/mkdistro.sh -Puber -Phadoop-2 -DskipTests
来构建发行版。这创建了oozie-4.2.0-distro.tar.gz
包,在里面我可以找到oozie-4.2.0-sharelib.tar.gz
。但是,许多在线教程声明我应该使用oozie-4.2.0-sharelib-yarn.tar.gz
来使用YARN。这样的文件不包含在发行包中。 如何让构建过程输出YARN版本的sharelibs?
我尝试继续使用非YARN版本,但在提交示例Spark作业时(并将job.properties中的HDFS和YARN地址与主属性从local[*]
调整为yarn
)我收到了一个错误:
错误:无法加载YARN类。这个Spark的副本可能没有 已经与YARN支持编译。
答案 0 :(得分:0)
Oozie 4.2不包含OOZIE-2271,它在针对hadoop-2配置文件进行编译时将spark_yarn依赖项添加到了sharelib。 尝试使用Oozie 4.3构建发行版。或者,您可以尝试向后移植OOZIE-2271并自己构建Oozie。
请参阅以下提交中的spark-yarn_2.10: https://github.com/apache/oozie/commit/e6b5c95efb492a70087377db45524e06f803459e