使用spark-ec2更改hadoop版本

use*_*014 9 hadoop amazon-ec2 apache-spark spark-ec2

我想知道是否可以在spark-ec2创建集群时更改hadoop版本?

我试过了

spark-ec2 -k spark -i ~/.ssh/spark.pem -s 1 launch my-spark-cluster
Run Code Online (Sandbox Code Playgroud)

然后我登录

spark-ec2 -k spark -i ~/.ssh/spark.pem login my-spark-cluster
Run Code Online (Sandbox Code Playgroud)

并发现hadoop版本是1.0.4.

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

Gre*_*cki 8

Hadoop 2.0

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

请参阅脚本的摘录--help:

  --hadoop-major-version=HADOOP_MAJOR_VERSION
                    Major version of Hadoop (default: 1)
Run Code Online (Sandbox Code Playgroud)

例如:

spark-ec2 -k spark -i ~/.ssh/spark.pem -s 1 --hadoop-major-version=2 launch my-spark-cluster
Run Code Online (Sandbox Code Playgroud)

..将使用当前版本的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进行了一些调整,我已经放入了我的Sparkspark-ec2的分支,但这是另一个故事.)


Hadoop 2.4,2.6

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