简介:
在我的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
一。安装准备
所需软件
①csd包: http://archive.cloudera.com/spark2/csd/
②parcel包: http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/
注意,下载对应版本的包,我的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,来张图纪念一下吧,不容易啊,网上资料太少了。