CDH5升级jdk1.7到1.8---spark1.6升到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
  • 1
  • 2

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

当然,为了方便,我直接将所有节点的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
  • 1
  • 2
  • 3
  • 4

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.3.0.cloudera3.jar
ll #查看是否修改成功
-rw-r--r-- 1 cloudera-scm cloudera-scm 19037 8月  18 10:48 SPARK2_ON_YARN-2.3.0.cloudera3.jar
  • 1
  • 2
  • 3
  • 4
  • 5

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
#重启服务
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3、分配并激活parcel

进入到主机->Parcel
这里写图片描述
左侧可以查看到我们的SPARK2
这里写图片描述
这里写图片描述这里写图片描述
这里写图片描述
此时我们的准备工作就做完了

4、添加spark2服务

进入到进群页面集群->操作->添加服务
这里写图片描述
找到spark2
这里写图片描述
剩下的就是按照正常配置就行
这里写图片描述

5、spark2.3安装成功

如果没有将jdk1.7修改成jdk1.8则上述步骤中安装时会提示,jdk的问题。
安装成功后:
在cloudera manager中能看到spark2安装成功
这里写图片描述
我们到集群中用hdfs用户查看pyspark2
这里写图片描述