2015-11-24 3 views
8

У меня есть виртуальная машина, на которой есть Spark 1.3, но я хочу обновить ее до Spark 1.5, прежде всего благодаря некоторым поддерживаемым функциям, которые не были в 1.3. Возможно ли обновить версию Spark от 1.3 до 1.5, и если да, то как я могу это сделать?Как обновить Spark до более новой версии?

ответ

13

Предварительно построенные дистрибутивы Spark, подобные тому, который, как я полагаю, используется на основе another question of yours, довольно просты для «обновления», поскольку Spark фактически не установлен. На самом деле, все, что вам нужно сделать, это:

  • Download соответствующего Спарк дистрибутив (предварительно построенным для Hadoop 2.6 и позже, в вашем случае)
  • Распакуй архивный файл в соответствующем каталоге (iewhere папка spark-1.3.1-bin-hadoop2.6 уже есть)
  • обновленными SPARK_HOME (и, возможно, некоторые другие переменные окружения в зависимости от вашей установки) соответственно

Вот что я только что сделал сам, чтобы перейти от версии 1.3.1 до 1.5.2, в условиях похож на ваш (бродяга VM работает в Ubuntu):

1) Загрузить архивный файл в соответствующем каталоге

[email protected]:~$ cd $SPARK_HOME 
[email protected]:/usr/local/bin/spark-1.3.1-bin-hadoop2.6$ cd .. 
[email protected]:/usr/local/bin$ ls 
ipcluster  ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6 
ipcluster2 ipengine  iptest2 jsonschema 
ipcontroller ipengine2  ipython pygmentize 
[email protected]:/usr/local/bin$ sudo wget http://apache.tsl.gr/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz 
[...] 
[email protected]:/usr/local/bin$ ls 
ipcluster  ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6 
ipcluster2 ipengine  iptest2 jsonschema spark-1.5.2-bin-hadoop2.6.tgz 
ipcontroller ipengine2  ipython pygmentize 

Обратите внимание, что точное зеркало, которое вы должны использовать с wget будет, вероятно, отличается от моей, в зависимости от вашего местоположения; вы получите это, нажав ссылку «Загрузить Spark» в download page, после того, как вы выбрали тип пакета для загрузки.

2) Распакуйте tgz файл с

[email protected]:/usr/local/bin$ sudo tar -xzf spark-1.*.tgz 
[email protected]:/usr/local/bin$ ls 
ipcluster  ipcontroller2 iptest ipython2 spark-1.3.1-bin-hadoop2.6 
ipcluster2 ipengine  iptest2 jsonschema spark-1.5.2-bin-hadoop2.6 
ipcontroller ipengine2  ipython pygmentize spark-1.5.2-bin-hadoop2.6.tgz 

Вы можете видеть, что теперь у вас есть новая папка, spark-1.5.2-bin-hadoop2.6.

3) Обновите соответствующим образом SPARK_HOME (и, возможно, другие переменные среды, которые вы используете), чтобы указать на этот новый каталог, а не на предыдущий.

И после этого необходимо выполнить перезагрузку.

Обратите внимание, что:

  1. Вам не нужно, чтобы удалить предыдущее распределение Спарк, до тех пор, как все соответствующие переменные среды указывают на новый. Таким образом, вы можете даже быстро перемещать «назад-вперед» между старой и новой версиями, если вы хотите протестировать вещи (т. Е. Вам просто нужно изменить соответствующие переменные среды).
  2. sudo был необходим в моем случае; это может быть ненужным для вас в зависимости от ваших настроек.
  3. Убедившись, что все работает нормально, рекомендуется удалить загруженный файл tgz.
  4. Вы можете использовать ту же самую процедуру для обновления до будущих версий Spark, поскольку они выходят (довольно быстро). Если вы это сделаете, либо убедитесь, что предыдущие файлы tgz были удалены, либо измените команду tar выше, чтобы указать на определенный файл (т. Е. * подстановочные знаки, как указано выше).
+0

Но я не могу сохранить текущее выполняемое задание, как Hadoop прокатка Upgrade, верно? – ribamar

0
  1. Установите ваш SPARK_HOME в /opt/spark
  2. Download последний бинарник т.е. spark-2.2.1-bin-hadoop2.7.tgz - можно использовать wget
  3. Создание символической ссылки на последней загрузки - ln -s /opt/spark-2.2.1 /opt/spark̀

Для каждой новой версии, которую вы загружаете, просто создайте t он симлинка к нему (шаг 3)

  • ln -s /opt/spark-x.x.x /opt/spark̀
Смежные вопросы