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

时间:2016-03-11 09:13:51

标签: hadoop apache-spark yarn

我有一个带有Hadoop 2.0.0-cdh4.4.0的集群,我需要使用YARN作为资源管理器运行Spark。我从http://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version

获得了以下信息
  

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

我不想升级整个Hadoop软件包以支持YARN 2.2.0版本,因为我的HDFS有大量数据并且升级会导致服务中断时间过长而且风险太大。

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

或者还有其他方法可以在Hadoop 2.0.0-cdh4.4.0上使用YARN作为资源管理器运行Spark吗?

1 个答案:

答案 0 :(得分:0)

虽然理论上你可以只升级你的YARN组件,但我的经验表明,如果你这样做,你会遇到很大的库和其他组件不兼容的风险。 Hadoop由许多组件组成,但它们通常不会像它们应该那样分离,这是CDH,HDP和其他Hadoop发行版仅捆绑已知可以协同工作的某些版本以及是否有商业支持的主要原因之一与他们一起改变他们通常赢得的东西的版本并不支持你,因为当你这样做时,事情往往会破裂。

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

很抱歉,我知道这不是您正在寻找的答案,但如果您真的希望工作并且不想要的话,将Hadoop升级到新版本可能是唯一的前进方式花大量时间调试版本不兼容性。