簡介:
在我的CDH5.11集群中,默認安裝的spark是1.6版本,這里需要將其升級為spark2.x版本。經查閱官方文檔,發現spark1.6和2.x是可以並行安裝的,也就是說可以不用刪除默認的1.6版本,可以直接安裝2.x版本,它們各自用的端口也是不一樣的。我嘗試了安裝spark2.0版本和spark2.1版本,均告成功。這里做一下安裝spark2.1版本的步驟記錄。
首先貼出一些官方的網址,有興趣的可以去看看:
Cloudera發布Apache Spark 2概述(可以在這里面找到安裝方法和parcel包的倉庫,不過待會我會給出地址和安裝方法):
https://www.cloudera.com/documentation/spark2/latest/topics/spark2_installing.html
Cloudera Manager及5.11版本的介紹:https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_parcels.html#cmug_topic_7_11_5__section_sd4_bzx_bm
一。安裝准備
所需軟件


注意,下載對應版本的包,我的CentOS7,所以下載el7的包,若是CentOS6,就要下el6的包。
特別注意,如果你安裝spark2.1,按照上面下載就是了,注意一下操作系統的版本;如果你不打算安裝spark2.1,想安裝其他版本,比如2.0,那么一定要注意下面的事項:
如果你仔細瀏覽過這些路徑,會發現下圖中,csd和parcel包會有.clouderal1和.clouderal2之分,和2.0與2.1版本之分,那么在下載parcel時也要注意,下載對應的包。即如果下載到的是.clouderal1的csd包,下載parcel包也要下載文件名中是.clouderal1的包,不能下載.clouderal2的包,同時csd2.0的包也不能用於parcel2.1的包,不然很可能安不上
csd包所在的目錄:

parcel包所在的目錄

二。開始安裝
1.安裝前可以停掉集群和Cloudera Management Service,也可以不停,但是待會還是要停止重啟的。
2.下面的操作在每個CDH節點都要進行。
3.上傳CSD包到機器的/opt/cloudera/csd目錄,並且修改文件的用戶和組。注意如果本目錄下有其他的jar包,把刪掉或者移到其他目錄
[root@kjtlxsvr6 csd]# chgrp cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# ls -la
total 16
drwxr-xr-x 2 cloudera-scm cloudera-scm 47 Jun 23 16:11 .
drwxr-xr-x 6 cloudera-scm cloudera-scm 67 May 1 17:46 ..
-rw-r--r-- 1 root cloudera-scm 16109 Jun 23 16:04 SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# chown cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]# ls -la
total 16
drwxr-xr-x 2 cloudera-scm cloudera-scm 47 Jun 23 16:11 .
drwxr-xr-x 6 cloudera-scm cloudera-scm 67 May 1 17:46 ..
-rw-r--r-- 1 cloudera-scm cloudera-scm 16109 Jun 23 16:04 SPARK2_ON_YARN-2.1.0.cloudera1.jar
[root@kjtlxsvr6 csd]#
4.上傳parcel包到機器的/opt/cloudera/parcel-repo目錄下。注意,。如果有其他的安裝包,不用刪除 ,但是如果本目錄下有其他的重名文件比如manifest.json文件,把它重命名備份掉。然后把那3個parcel包的文件放在這里。
5.如果剛剛沒有停掉CM和集群,現在將他們停掉。然后運行命令。
service cloudera-scm-agent restart
service cloudera-scm-server restart
這兩個命令,只需要在CM server節點運行,並且按照官方來說只用運行第二個命令,但因為我安裝失敗過幾次,這里都運行了,並且如果你安裝失敗,這里也可以兩個命令都運行,並且如果多次失敗,還可以嘗試在所有CDH節點都運行一下,我是這么做了的
6.把CM和集群啟動起來。然后點擊主機->Parcel頁面,看是否多了個spark2的選項。如下圖,你這里此時應該是分配按鈕,點擊,等待操作完成后,點擊激活按鈕

7.激活后,點擊你的群集-》添加服務,添加spark2服務。注意,如果你這里看不到spark2服務,就請檢查你的CSD包和parcel包是否對應,上面的步驟是否有漏掉。正常情況下,應該是能用了。我的集群到此已經OK,來張圖紀念一下吧,不容易啊,網上資料太少了。
