2015-11-24 87 views
8

我有一個虛擬機,它有Spark 1.3,但我想升級到Spark 1.5,主要是由於某些支持的功能不在1.3。是否有可能我可以將Spark版本從1.3升級到1.5,如果是,那我該怎麼做?如何將Spark升級到更新版本?

回答

13

由於Spark實際上並未「安裝」,因此預構建的Spark發行版,就像我認爲您基於another question of yours使用的發行版一樣,對於「升級」相當簡單。事實上,所有你需要做的是:

  • Download適當星火發行版(預建Hadoop的2.6及更高版本,在您的案件)
  • 解壓縮在相應的目錄tar文件(文件夾iewhere spark-1.3.1-bin-hadoop2.6已經是)
  • 更新您的SPARK_HOME(可能還有一些其它的環境變量根據您的設置),因此

這裏是我只是做我自己,從1.3.1到1.5.2,在設定與你的相似(流浪者VM運行Ubuntu):

1)下載的tar文件中的相應目錄

[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使用完全相同鏡很可能是比我的不同,這取決於您所在的位置;點擊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的滾動升級,對不對? – 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̀