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

在Hadoop 2.0.0-cdh4.4.0上运行Apache Spark,hadoop,apache-spark,yarn,Hadoop,Apache Spark,Yarn,我有一个使用Hadoop 2.0.0-cdh4.4.0的集群,我需要在它上面运行Spark,使用Thread作为资源管理器。我从你那里得到了以下信息 如果与hadoop.version不同,您可以启用纱线配置文件,并可以选择设置纱线.version属性。Spark仅支持纱线版本2.2.0及更高版本 我不想升级整个Hadoop包来支持2.2.0版,因为我的HDFS有大量数据,升级它会导致服务中断太长时间,对我来说风险太大 我认为对我来说最好的选择可能是使用比2.2.0更高版本的Thread,同时保

我有一个使用Hadoop 2.0.0-cdh4.4.0的集群,我需要在它上面运行Spark,使用Thread作为资源管理器。我从你那里得到了以下信息

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

我不想升级整个Hadoop包来支持2.2.0版,因为我的HDFS有大量数据,升级它会导致服务中断太长时间,对我来说风险太大

我认为对我来说最好的选择可能是使用比2.2.0更高版本的Thread,同时保持Hadoop其他部分的版本不变。如果是这样的话,我应该采取什么步骤来获得这样一个纱线包并将其部署到集群上


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

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

此外,CDH4已于去年完成维护,不再由Cloudera开发,因此,如果发现任何错误,您将很难获得修复(通常会被告知升级到新版本)。我还可以根据经验说,如果你想使用较新版本的Spark(例如1.5或1.6),那么你还需要更新版本的Hadoop(无论是CDH、HDP还是其他版本),因为Spark发展如此之快,而且后来又增加了纱线支持,所以Hadoop和Spark的早期版本中都存在大量的bug和问题

抱歉,我知道这不是你想要的答案,但是如果你真的想让东西正常工作,又不想花太多时间调试版本不兼容,那么将Hadoop升级到新版本可能是唯一的出路