带有HDP 2.6堆栈​​的Apache Spark 3.0

问题描述

我们计划在现有HDP 2.6集群外部设置Apache Spark 3.0,并在不升级修改的情况下使用该集群中的yarn(v2.7)提交作业。当前,用户正在使用HDP堆栈中包含的Spark 2.3。目标是在HDP群集之外的外部启用Apache Spark 3.0,而不会中断当前作业。

最好的方法是什么? 在HDP群集之外设置apache 3.0客户端节点并从新客户端节点提交?

对此有何建议? 要避免与当前的HDP堆栈及其组件发生冲突的事情?

解决方法

使用特定的(HDP 2.6)Hadoop Hive版本从spark源代码3.0.1构建spark 3.0.1。然后将其仅部署在HDP客户端节点中。由于使用最新的Hive构建,Spark 3.0.1预先构建的二进制文件与Hive 1.2.1存在兼容性问题。

构建选项:

./build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -Phive-1.2 -Phive-thriftserver -DskipTests -Dmaven.test.skip=true clean package