CDH5.13.0版本集群安装更新spark2部署及问题汇总(史上最全,无坑)

一、简介:
在我的CDH5.13.0集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。
经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,
可以直接安装2.x版本,它们各自用的端口也是不一样的。这里做一下安装spark2.1版本的步骤记录。

二、安装准备
csd包:http://archive.cloudera.com/spark2/csd/
SPARK2_ON_YARN-2.2.0.cloudera2.jar

parcel包:http://archive.cloudera.com/spark2/parcels/2.2.0.cloudera2/
SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel
SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel.sha1
manifest.json
注意,下载对应版本的包,比如: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的包,不然很可能安不上

三、开始安装
1.安装前可以停掉集群和Cloudera Management Service(可以不用停掉)

2.下面的操作在每个CDH节点都要进行。
3.上传CSD包到机器的/opt/cloudera/csd目录,
并且修改文件的用户和组。注意如果本目录下有其他的jar包,把删掉或者移到其他目录
chown cloudera-scm:cloudera-scm SPARK2_ON_YARN-2.1.0.cloudera3.jar3

4.上传parcel包到机器的/opt/cloudera/parcel-repo目录下。

注意。如果有其他的安装包,不用删除 。但是如果本目录下有其他的重名文件比如manifest.json文件,把它重命名备份掉。然后把那3个parcel包的文件放在这里。

SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel.sha1
更名为:
SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel.sha

其中,SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel.torrent是CDH分配时候自动生成的

5.如果刚刚没有停掉CM和集群,现在将他们停掉。然后运行命令。
备注: 我启动了server,没有启动agent,网上有说法是server和agent全部启动
主节点
/opt/cloudera/cm-5.13.0/etc/init.d/cloudera-scm-server restart

所有节点
/opt/cloudera/cm-5.13.0/etc/init.d/cloudera-scm-agent restart

6.把CM和集群启动起来。然后点击主机->Parcel页面,看是否多了个spark2的选项。如下图,你这里此时应该是分配按钮,点击,等待操作完成后,点击激活按钮

7.激活后,点击你的群集-》添加服务,添加spark2服务。注意,如果你这里看不到spark2服务,就请检查你的CSD包和parcel包是否对应,上面的步骤是否有漏掉。正常情况下,应该是能用了。

问题汇总********
1.安装完毕后需要拷贝文件
#拷贝文件
cp /opt/cloudera/parcels/CDH/etc/spark/conf.dist/* /opt/cloudera/parcels/SPARK2/etc/spark2/conf.dist/
#配置spark-env.sh文件
vim /opt/cloudera/parcels/SPARK2/etc/spark2/conf.dist/spark-env.sh
#添加如下内容
export SPARK_DIST_CLASSPATH=$(hadoop classpath) //指定hadoop class文件目录
export HADOOP_CONF_DIR=/etc/hadoop/conf //指定hadoop配置文件目录
2.不用配置环境变量(否则配置不好的话 自己找罪受),CDH5.13集群环境自带spark1.6版本,如果要配置spark2环境变量的话,
可以设置(设置后只有2.2.0版本), 也可以不设置(spark-shell,spark1-shell),这样配置
vim /etc/profile
#添加如下内容

export SPARK_HOME=/opt/cloudera/parcels/SPARK2/lib/spark2
export PATH= S P A R K H O M E / b i n : SPARK_HOME/bin: SPARKHOME/bin:PATH

#export HADOOP_CONF_DIR=/etc/hadoop_conf #这里千万不要配置,否则会报错(Retrying connect to server: 0.0.0.0/0.0.0.0:8032 ;org.apache.spark.SparkException: Yarn application already ended,might be killed or not able to launch application master.
),


这是个大坑,我折腾了将近一天才排查出来,现在都凌晨了,睡觉了,大家谨记!!!!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值