我想知道当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,配置它的最佳方法是什么?
答案 0 :(得分:8)
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发行版)。
警告是:
..但我成功使用了一些使用Hadoop2特定功能的Hadoop 2.0.0创建的Spark 1.2.0和1.3.1集群。 (对于Spark 1.2.0进行了一些调整,我已将Spark和spark-ec2放在我的叉子中,但这是另一个故事。)
如果您需要 Hadoop 2.4 或 Hadoop 2.6 ,那么我目前(截至2015年6月)建议您手动创建独立群集 - 它更容易比你想象的还要好。