在原生 Hadoop 2.x 上运行 Spark 作业

https://blueprints.launchpad.net/sahara/+spec/spark-jobs-for-vanilla-hadoop

本规范建议添加在运行原生 Hadoop 2.x (YARN) 版本的集群上运行 Spark 作业的能力。

问题描述

目前支持在独立模式下以及在 CDH 上运行 Spark 作业,但不支持在原生 Hadoop 版本上运行。

提议的变更

在原生 v2.x 插件中添加一个新的 edp_engine 类,该类扩展 SparkJobEngine。利用蓝图中的设计和代码:https://blueprints.launchpad.net/sahara/+spec/spark-jobs-for-cdh-5-3-0

通过设置 Spark 的配置文件 (spark-env.sh) 指向 Hadoop 的配置,并在集群创建时部署该配置文件,来配置 Spark 在 YARN 上运行。

扩展 sahara-image-elements 以支持创建带有 Spark 二进制文件的原生镜像 (vanilla+spark)。

替代方案

如果没有这些更改,运行 Spark 和 Hadoop MapReduce 的唯一方法是在 CDH 集群上运行。

数据模型影响

REST API 影响

其他最终用户影响

部署者影响

开发者影响

Sahara-image-elements impact

需要对 sahara-image-elements 进行更改,以支持构建带有 Spark 二进制文件的原生 2.x 镜像。新的镜像类型可以是 vanilla+spark。Spark 版本可以固定为 Spark 1.3.1。

Sahara-dashboard / Horizon 影响

实现

负责人

主要负责人

工作项

原生 2.x 插件的新 edp 类。sahara-image-elements vanilla+spark 扩展。单元测试

依赖项

利用蓝图:https://blueprints.launchpad.net/sahara/+spec/spark-jobs-for-cdh-5-3-0

测试

单元测试,以覆盖原生引擎与 Spark 的协同工作。

文档影响

参考资料