CDH5.16.1部署spark2.4

CDH管理集群中带的默认的spark服务为1.x,想要给集群中安装或者升级至2.x思路同CDH集群部署时一样,默认服务的包都封装在parcel包中,以部署集群时的步骤,分配,解压,激活再添加spark服务即可。
一.下载需要的包
实际情况是现在的很多CDH集群都处在未开放公网的环境当中,可在本地下载然后上传至Linux上

wget http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.4.0.cloudera2.jar
wget http://archive.cloudera.com/spark2/parcels/2.4.0.cloudera2/SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7.parcel
wget http://archive.cloudera.com/spark2/parcels/2.4.0.cloudera2/SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7.parcel.sha1
wget http://archive.cloudera.com/spark2/parcels/2.4.0.cloudera2/manifest.json

二.创建目录,将下载好的包放至对应目录

mkdir /opt/cloudera/csd
mv SPARK2_ON_YARN-2.4.0.cloudera2.jar /opt/cloudera/csd

三.设置文件的拥有者以及权限

chown -R cloudera-scm:cloudera-scm /opt/cloudera/csd/SPARK2_ON_YARN-2.4.0.cloudera2.jar
chmod -R 644 /opt/cloudera/csd/SPARK2_ON_YARN-2.4.0.cloudera2.

四.重启CDH的server节点

/opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server restart

五.添加包裹仓库
这里有两种方式,一是直接将包放到/opt/cloudera/parcel-repo文件夹下
二则是搭建web服务(官网推荐这种方式)

六.搭建http服务,将包移至web服务的文件夹下

yum install -y httpd
mkdir /var/www/html/spark2_parcel
mv *.parcel* /var/www/html/spark2_parcel
mv manifest.json /var/www/html/spark2_parcel
sudo chmod -R ugo+rX /var/www/html/spark2_parcel

此步骤完成之后可在通过浏览器访问是否搭建和移入文件成功

七.添加parcel
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
按照流程分别点击下载、分发、激活
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到此步已经激活
八.添加spark服务

在这里插入图片描述

spark2已经出现
测试可执行

spark2-submit \
--master yarn \
--executor-memory 1G \
--executor-cores 1 \
--num-executors 1 \
--class org.apache.spark.examples.SparkPi \
/opt/cloudera/parcels/SPARK2/lib/spark2/examples/jars/spark-examples_2.11-2.4.0.cloudera2.jar

在这里插入图片描述若执行结果如图中所示的话则部署OK
九.错误处理
执行的时候出现如下的错误
1.Exception in thread “main” java.lang.IllegalArgumentException: Required executor memory (1024), overhead (384 MB), and PySpark memory (0 MB) is above the max threshold (1208 MB) of this cluster! Please check the values of ‘yarn.scheduler.maximum-allocation-mb’ and/or ‘yarn.nodemanager.resource.memory-mb’

解决:

扫描二维码关注公众号,回复: 9087279 查看本文章
yarn.scheduler.maximum-allocation-mb设置2G
yarn.nodemanager.resource.memory-mb设置为1.5G

重启yarn集群
2.org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE,inode="/user":hdfs:supergroup:drwxr-xr-x
解决:是因为在root用户下,此默认的用户是hdfs用户,切换到hdfs用户下即可

发布了10 篇原创文章 · 获赞 0 · 访问量 402

猜你喜欢

转载自blog.csdn.net/Student_xx/article/details/104219235