Измените версию hadoop, используя spark-ec2
Я хочу знать, возможно ли изменить версию hadoop, когда кластер создается spark-ec2?
Я старался
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, как лучше это настроить?
1 ответ
Hadoop 2.0
spark-ec2
Скрипт не поддерживает изменение существующего кластера, но вы можете создать новый кластер Spark с помощью Hadoop 2.
Смотрите этот отрывок из сценария --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 из-за ошибок - например, существует проблема с использованием Tachyon,
- хотя теоретически в Spark 1.4.0 вы можете создать кластер YARN, используя spark-ec2, его [еще не задокументировано] по состоянию на июнь 2015 года, и наши попытки его использовать не увенчались успехом,
... но я успешно использовал несколько кластеров Spark 1.2.0 и 1.3.1, созданных с помощью Hadoop 2.0.0, используя некоторые специфичные для Hadoop2 функции. (для Spark 1.2.0 с несколькими изменениями, которые я вставил в свои вилки Spark и spark-ec2, но это другая история.)
Hadoop 2.4, 2.6
Если вам нужен Hadoop 2.4 или Hadoop 2.6, то в настоящее время (по состоянию на июнь 2015 года) я рекомендую вам создать автономный кластер вручную - это проще, чем вы, вероятно, думаете.