CDH环境故障:linux jdk环境部署不规范导致部署spark2 gateway失败,spark2-submit无法执行

0 问题概述

        在CDH中离线部署完spark2之后,执行spark2-submit命令测试部署的spark2是否可用,结果立即提示请安装spark gateway角色。说明我的spark2并未成功部署,或者它依赖的环境没有满足

1 问题详情

 

1.1 问题出现

如图,在spark2集群页面,选择【部署客户端配置操作】

一段时间后,部署崩溃!

1.2 查看日志

查看崩溃的日志,spark2部署的每个客户端有2份日志,1份stout,1份sterr

stout日志

sterr日志

扫描二维码关注公众号,回复: 11500965 查看本文章

初步判断,应该是找不到java环境,cat /etc/profile

.....

export JAVA_HOME=/usr/jdk8/java/jdk1.8.0_211

.....

java环境是有的呀,并且执行java -version都能显示出版本,咋找不到呢?

1.3 求助解决

实在理解不了这个问题,就求助了一位资深大佬,看了各种cloudera server日志,然后又重演了一通和我一样的过程操作后,看到了我上面看到的日志,检查了我的jdk环境。得出结论是——我的jdk环境配置不规范,于是将 jdk1.8.0_211 目录包拷到/usr/java/目录下,然后将我的java环境改为:

.....
export JAVA_HOME=/usr/java/jdk1.8.0_211
.....

再次部署spark2客户端,显示Successfully!

 

1.4 验证有效性

为了验证spark2是否真正部署成功,执行提交任务测试,测试示例代码中的 Pi 计算

spark2-submit --class org.apache.spark.examples.SparkPi /opt/cloudera/parcels/SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012/lib/spark2/examples/jars/spark-examples_2.11-2.4.0.cloudera2.jar

发现还是报错

Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

这是root用户,写hdfs 用户目录,权限不够!

su - hdfs 切换hdfs用户,再次提交,一段时间后,控制台出现了结果数据

Pi is roughly 3.1404557022785116

再查看yarn

完美!

 

2 感悟

配置一些系统环境时,不可随意任性,有规范的时候,一定要遵循规范,否则很有可能踩坑!

猜你喜欢

转载自blog.csdn.net/dinghua_xuexi/article/details/106068341