由于之前CDH中安装了spark1.6,为了适配,我安装jdk1.7,但是在spark2.3中jdk1.7的支持已经被移除了,所以我们第一件事需要将jdk版本升级到jdk1.8
/opt/cm-5.15.0/etc/init.d/cloudera-scm-server stop /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent stop
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做了修改
#启动主节点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
#####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/
注意:csd包跟parcel的版本一定要对应SPARK2 2.3.0.cloudera3 el7(centos7.5),manifest.json一定要更新
我们将下载下来的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
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 #重启服务
进入到主机->Parcel
左侧可以查看到我们的SPARK2
此时我们的准备工作就做完了
进入到进群页面集群->操作->添加服务
找到spark2
剩下的就是按照正常配置就行
如果没有将jdk1.7修改成jdk1.8则上述步骤中安装时会提示,jdk的问题。
安装成功后:
在cloudera manager中能看到spark2安装成功
我们到集群中用hdfs用户查看pyspark2