简介:
在我的CDH5.11集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,可以直接安装2.x版本,它们各自用的端口也是不一样的。我尝试了安装spark2.0版本和spark2.1版本,均告成功。这里做一下安装spark2.1版本的步骤记录。
一、安装准备
所需软件
1.csd包:http://archive.cloudera.com/spark2/csd/
2.parcels包:http://archive.cloudera.com/spark2/parcels/2.2.0/
注意,下载对应版本的包,我的CentOS7,所以下载el7的包,若是CentOS6,就要下el6的包。
二、开始安装
1.安装前可以停掉集群和Cloudera Management Service,也可以不停,但是待会还是要停止重启的。
2.下面的操作在Cloudera Manager Server节点进行。
3.上传CSD包到机器的/opt/cloudera/csd目录,并且修改文件的用户和组。
[root@master csd]# chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.2.0.cloudera1.jar
[root@master csd]# chmod 644 SPARK2_ON_YARN-2.2.0.cloudera1.jar
[root@master csd]# ll SPARK2_ON_YARN-2.2.0.cloudera1.jar
-rw-r--r-- 1 cloudera-scm cloudera-scm 17240 Sep 7 18:27 SPARK2_ON_YARN-2.2.0.cloudera1.jar
4.上传parcel包到机器的/opt/cloudera/parcel-repo目录下。注意,。如果有其他的安装包,不用删除 ,但是如果本目录下有其他的重名文件比如manifest.json文件,把它重命名备份掉。然后把那3个parcel包的文件放在这里。
[root@master cloudera]# cd parcel-repo/
[root@master parcel-repo]# ls
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.torrent
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha manifest.json
[root@master parcel-repo]# mv manifest.json manifest.json.bak
[root@master parcel-repo]# cp ~/spark2/
manifest.json
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el7.parcel
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el7.parcel.sha
[root@master parcel-repo]# cp ~/spark2/SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el7.parcel* .
[root@master parcel-repo]# cp ~/spark2/manifest.json .
[root@master parcel-repo]# ls
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha
CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.torrent
manifest.json
manifest.json.bak
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el7.parcel
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el7.parcel.sha
5.如果刚刚没有停掉CM和集群,现在将他们停掉。然后运行命令。
[root@master ~]# /opt/cm-5.12.1/etc/init.d/cloudera-scm-server restart
Stopping cloudera-scm-server: [ OK ]
Starting cloudera-scm-server: [ OK ]
6.把CM和集群启动起来。然后点击主机
->Parcel
页面,看是否多了个spark2
的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮
这只是分配,还没有进行激活,需要在到 主机
->Parcel
页面,将spark2激活:
7.激活后,点击你的群集-》添加服务,添加spark2服务。注意,如果你这里看不到spark2服务,就请检查你的CSD包和parcel包是否对应,上面的步骤是否有漏掉。正常情况下,应该是能用了。我的集群到此已经OK,来张图纪念一下吧,不容易啊,网上资料太少了。
运行Spark2:
[root@master ~]# spark2-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://192.168.0.200:4040
Spark context available as 'sc' (master = yarn, app id = application_1505127668453_0001).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.2.0.cloudera1
/_/
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_74)
Type in expressions to have them evaluated.
Type :help for more information.
scala>