在Hadoop 2.0.0-cdh4.4.0上运行Apache Spark



我有一个装有Hadoop 2.0.0-cdh4.4.0的集群,我需要用YARN作为资源管理器在它上运行Spark。我从 http://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version 那里得到了以下信息

您可以启用 yarn 配置文件,并选择性地设置 yarn.version 属性(如果它与 hadoop.version 不同)。Spark 仅支持 YARN 版本 2.2.0 及更高版本。

我不想升级整个Hadoop软件包来支持YARN版本2.2.0,因为我的HDFS有大量数据,升级会导致服务中断太久,对我来说风险太大。

我认为对我来说最好的选择可能是使用比 2.2.0 更高的 YARN 版本,同时保持我的 Hadoop 其他部分的版本不变。如果是这样,我应该遵循哪些步骤来获取这样的 YARN 包并将其部署到我的集群上?

或者有没有其他方法可以在Hadoop 2.0.0-cdh4.4.0上运行Spark,并将YARN作为资源管理器?

虽然理论上你可以只升级你的 YARN 组件,但我的经验表明,如果你这样做,你会面临库和其他组件不兼容的巨大风险。Hadoop由许多组件组成,但它们通常不像它们应该的那样解耦,这是CDH,HDP和其他Hadoop发行版仅捆绑某些已知可以协同工作的版本的主要原因之一,如果你有商业支持,但更改了某些内容的版本,他们通常不会支持你,因为当你这样做时,事情往往会中断。

此外,CDH4 去年已结束维护,不再由 Cloudera 开发,因此如果您发现任何问题,您会发现很难获得修复(通常会告诉您升级到更新的版本)。我也可以从经验中说,如果你想使用较新版本的Spark(例如1.5或1.6),那么你还需要一个较新版本的Hadoop(无论是CDH,HDP还是其他版本),因为Spark发展如此之快,并且YARN支持是后来附加的,因此在Hadoop和Spark的早期版本中存在大量错误和问题。

抱歉,我知道这不是您要寻找的答案,但是如果您真的希望某些东西正常工作并且不想花费大量时间调试版本不兼容,那么将Hadoop升级到较新版本可能是唯一的出路。

相关内容

  • 没有找到相关文章

最新更新