升級之Spark升級
在CDH5.12.1集羣中,默認安裝的Spark是1.6版本,這裏需要將其升級爲Spark2.1版本。經查閱官方文檔,發現Spark1.6和2.x是可以並行安裝的,也就是說可以不用刪除默認的1.6版本,可以直接安裝2.x版本,它們各自用的端口也是不一樣的。
Cloudera發佈Apache Spark 2概述(可以在這裏面找到安裝方法和parcel包的倉庫)
cloudera的官網可以下載相關的parcel 的離線安裝包:
https://www.cloudera.com/documentation/spark2/latest/topics/spark2_installing.html
Cloudera Manager及5.12.0版本的介紹:
升級過程
1 離線包下載
1)所需軟件:http://archive.cloudera.com/spark2/csd/
2)Parcels 包的下載地址:http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/
2 離線包上傳
1)上傳文件SPARK2_ON_YARN-2.1.0.cloudera1.jar到/opt/cloudera/csd/下面
2)上傳文件SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel和SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1 到/opt/cloudera/parcel-repo/
3)將SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1重命名爲SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha
[root@hadoop101 parcel-repo]# mv /opt/cloudera/parcel-repo/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1 /opt/cloudera/parcel-repo/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha
[kris@hadoop101 parcel-repo]$ ll
total 2673860
-rw-r--r-- 1 kris kris 364984320 Jul 2 2019 APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel
-rw-r--r-- 1 kris kris 41 Jul 2 2019 APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel.sha
-rw-r----- 1 root root 14114 Jul 2 2019 APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel.torrent
-rw-r--r-- 1 cloudera-scm cloudera-scm 2108071134 Jun 27 2019 CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
-rw-r--r-- 1 cloudera-scm cloudera-scm 41 Jun 27 2019 CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
-rw-r----- 1 cloudera-scm cloudera-scm 80586 Jun 27 2019 CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.torrent
-rw-r--r-- 1 cloudera-scm cloudera-scm 72851219 Jun 29 2019 KAFKA-3.1.1-1.3.1.1.p0.2-el7.parcel
-rw-r--r-- 1 cloudera-scm cloudera-scm 41 Jun 29 2019 KAFKA-3.1.1-1.3.1.1.p0.2-el7.parcel.sha
-rw-r----- 1 root root 2940 Jun 29 2019 KAFKA-3.1.1-1.3.1.1.p0.2-el7.parcel.torrent
-rw-r--r-- 1 cloudera-scm cloudera-scm 74062 Jun 27 2019 manifest.json
-rw-r--r-- 1 cloudera-scm cloudera-scm 191904064 Jun 29 2019 SPARK2-2.3.0.cloudera4-1.cdh5.13.3.p0.611179-el7.parcel
-rw-r--r-- 1 cloudera-scm cloudera-scm 41 Oct 5 2018 SPARK2-2.3.0.cloudera4-1.cdh5.13.3.p0.611179-el7.parcel.sha
-rw-r----- 1 cloudera-scm cloudera-scm 7521 Jun 29 2019 SPARK2-2.3.0.cloudera4-1.cdh5.13.3.p0.611179-el7.parcel.torrent
[kris@hadoop101 parcel-repo]$ pwd
/home/kris/apps/usr/webserver/cloudera/parcel-repo
[kris@hadoop101 csd]$ pwd
/home/kris/apps/usr/webserver/cloudera/csd
[kris@hadoop101 csd]$ ll
total 28
-rw-r--r-- 1 cloudera-scm cloudera-scm 5670 Feb 22 2018 KAFKA-1.2.0.jar
-rw-r--r-- 1 cloudera-scm cloudera-scm 19037 Oct 5 2018 SPARK2_ON_YARN-2.3.0.cloudera4.jar
[kris@hadoop101 csd]$ ll
total 28
-rw-r--r-- 1 cloudera-scm cloudera-scm 5670 Feb 22 2018 KAFKA-1.2.0.jar
-rw-r--r-- 1 cloudera-scm cloudera-scm 19037 Oct 5 2018 SPARK2_ON_YARN-2.3.0.cloudera4.jar
頁面操作
更新Parcel
在cm首頁點擊Parcel,再點擊檢查新Parcel
點擊分配、點擊激活、回到首頁點擊添加服務
如果沒有Spark2,則重啓server:
[root@hadoop101 ~]# /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-server restart
選擇一組依賴關係
角色分配、 部署並啓動
注意:這裏我報了一個錯:客戶端配置 (id=12) 已使用 1 退出,而預期值爲 0
1)問題原因:最後找到原因是因爲CM安裝Spark不會去環境變量去找Java,需要將Java路徑添加到CM配置文件
2)解決方法1(需要重啓cdh):
[root@hadoop101 java]# vim /opt/module/cm/cm-5.12.1/lib64/cmf/service/client/deploy-cc.sh
在文件最後加上
JAVA_HOME= /opt/module/jdk1.8.0_104
export JAVA_HOME= /opt/module/jdk1.8.0_104
3)解決方法2(無需重啓cdh):
查看/opt/module/cm/cm-5.12.1/lib64/cmf/service/common/cloudera-config.sh
找到java8的home目錄,會發現cdh不會使用系統默認的JAVA_HOME環境變量,而是依照bigtop進行管理,因此我們需要在指定的/usr/java/default目錄下安裝jdk。當然我們已經在/opt/module/jdk1.8.0_104下安裝了jdk,因此創建一個連接過去即可
[root@hadoop101 ~]# mkdir /usr/java
[root@hadoop101 ~]# ln -s /opt/module/jdk1.8.0_104/ /usr/java/default
[root@hadoop102 ~]# mkdir /usr/java
[root@hadoop102 ~]# ln -s /opt/module/jdk1.8.0_104/ /usr/java/default
[root@hadoop103 ~]# mkdir /usr/java
[root@hadoop103 ~]# ln -s /opt/module/jdk1.8.0_104/ /usr/java/default
3)解決方法3(需要重啓cdh):
找到hadoop101、hadoop102、hadoop103三臺機器的配置,配置java主目錄
命令行查看命令
[hdfs@hadoop101 ~]$ spa
spark2-shell spark2-submit spark-shell spark-submit spax