使用 spark-ec2 更改 hadoop 版本

Change hadoop version using spark-ec2

我想知道spark-ec2创建集群的时候可以修改hadoop版本吗?

我试过了

spark-ec2 -k spark -i ~/.ssh/spark.pem -s 1 launch my-spark-cluster

然后我用

登录
spark-ec2 -k spark -i ~/.ssh/spark.pem login my-spark-cluster

发现hadoop版本是1.0.4.

我想使用 2.x 版本的 hadoop,最好的配置方法是什么?

Hadoop 2.0

spark-ec2 脚本不支持 修改 现有集群,但您可以 创建 使用 Hadoop 2 的新 Spark 集群。

请参阅脚本 --help 中的这段摘录:

  --hadoop-major-version=HADOOP_MAJOR_VERSION
                    Major version of Hadoop (default: 1)

例如:

spark-ec2 -k spark -i ~/.ssh/spark.pem -s 1 --hadoop-major-version=2 launch my-spark-cluster

..将使用当前版本的 Spark 和 Hadoop 2 为您创建一个集群。


如果您使用 Spark v.1.3.1 或 Spark v.1.4.0 并将创建独立集群,那么您将通过这种方式获得 Hadoop v. 2.0.0 MR1(来自 Cloudera Hadoop Platform 4.2.0 发行版)。


注意事项是:

..但我已经成功使用了一些由 Hadoop 2.0.0 创建的 Spark 1.2.0 和 1.3.1 集群,使用了一些 Hadoop2 特定的功能。 (对于 Spark 1.2.0 进行了一些调整,我已经将其放入 Spark and spark-ec2 的分支中,但这是另一回事了。)


Hadoop 2.4、2.6

如果您需要 Hadoop 2.4Hadoop 2.6 那么我目前(截至 2015 年 6 月)建议您创建一个独立的集群手动 - 它比您想象的要容易。