严格来说不是将spark1.6升级到spark2.3,而是安装一个新的spark2.3
一、JDK1.7升级到JDK1.8
由于之前CDH中安装了spark1.6,为了适配,我安装jdk1.7,但是在spark2.3中jdk1.7的支持已经被移除了,所以我们第一件事需要将jdk版本升级到jdk1.8
1、停掉所有节点的cloudera manager
/opt/cm-5.15.0/etc/init.d/cloudera-scm-server stop
/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent stop
2、下载jdk1.8并安装
Oracle官方下载jdk1.8后解压
我这里是将解压后的目录移动到:/usr/java/jdk1.8.0_71
#修改主节点cloudera-scm-server文件的JAVA_HOME
vim /opt/cm-5.15.0/etc/default/cloudera-scm-server
export JAVA_HOME=/usr/java/jdk1.8.0_71
#修改所有节点cloudera-scm-agent文件的JAVA_HOME
vim /opt/cm-5.15.0/etc/default/cloudera-scm-agent
export JAVA_HOME=/usr/java/jdk1.8.0_71
当然,为了方便,我直接将所有节点的JAVA_HOME做了修改
3、启动cloudera manager
#启动主节点cloudera-scm-server
/opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
#启动所有节点cloudera-scm-agent
/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start
4、启动之后需要在cloudera manager配置中修改配置
至此,我们重启集群后jdk版本就变成了jdk1.8.0_71
二、安装spark2.3
1、到CDH官网下载对应的spark的parcel包
PS:我们需要安装的包只需要修改对应的名字就可以在官网找到,如:
http://archive.cloudera.com/spark2/parcels/latest/
http://archive.cloudera.com/kafka/parcels/latest/
csd文件:http://archive.cloudera.com/spark2/csd/
- SPARK2_ON_YARN-2.3.0.cloudera3.jar
parcel包:http://archive.cloudera.com/spark2/parcels/latest/
- SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel
- SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel.sha1
- manifest.json注意:csd包跟parcel的版本一定要对应SPARK2 2.3.0.cloudera3 el7(centos7.5),manifest.json一定要更新
2、开始安装
我们将下载下来的csd的jar包放到主节点的/opt/cloudera/csd
目录下
并修改SPARK2_ON_YARN-2.3.0.cloudera3.jar所属用户组以及所属用户
cd /opt/cloudera/csd
chgrp cloudera-scm SPARK2_ON_YARN-2.3.0.cloudera3.jar
chown cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera1.jar
ll #查看是否修改成功
-rw-r--r-- 1 cloudera-scm cloudera-scm 19037 8月 18 10:48 SPARK2_ON_YARN-2.3.0.cloudera3.jar
SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel
SPARK2-2.3.0.cloudera3-1.cdh5.13.3.p0.458809-el7.parcel.sha1
manifest.json
#以上两个包传入/opt/cloudera/parcel-repo目录下,并且将parcel.sha1修改成parcel.sha
/opt/cm-5.15.0/etc/init.d/cloudera-scm-server stop
/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent stop
/opt/cm-5.15.0/etc/init.d/cloudera-scm-server start
/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start
#重启服务
3、分配并激活parcel
进入到主机->Parcel
左侧可以查看到我们的SPARK2
此时我们的准备工作就做完了
4、添加spark2服务
进入到进群页面集群->操作->添加服务
找到spark2
剩下的就是按照正常配置就行
5、spark2.3安装成功
如果没有将jdk1.7修改成jdk1.8则上述步骤中安装时会提示,jdk的问题。
安装成功后:
在cloudera manager中能看到spark2安装成功
我们到集群中用hdfs用户查看pyspark2
大功告成