spark-sumit提交任务到yarn运行报OutofMemory内存溢出

本文详细解析了Spark任务中出现的内存溢出错误java.lang.OutOfMemoryError及权限错误AccessControlException的具体原因与解决策略。针对内存溢出,提供了调整executor-memory参数的方法,并讨论了数据倾斜的影响;对于权限错误,介绍了如何通过设置HADOOP_USER_NAME来避免。
部署运行你感兴趣的模型镜像

java.lang.OutOfMemoryError: Java heap space

-XX:OnOutOfMemoryError=“kill %p”

Executing /bin/sh -c “kill 54710”…

yarn logs -applicationId application_1565223618995_0003 > log.log
用这个方法搜集该任务的日志,查看错误原因
这个可能会报错
提示不可信

INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm85

哪个路径执行了spark-submit 任务,就在那个路径下看看有没有log.log日志

spark-submit --master yarn-cluster --num-executors 1 --driver-memory 1g --executor-memory 500m --executor-cores 1 --jars $(echo /usr/chl/spark8/jars/*.jar | tr ’ ’ ‘,’) --class com.cn.tzproject.spark.streaming.kafka.kafka2es.Kafka2esStreaming /usr/chl/spark8/tz_bigdata_spark-1.0-SNAPSHOT.jar chl_test1

spark-submit
–master yarn-cluster //集群启动
–num-executors 1 //分配多少个进程
–driver-memory 300m //driver内存
–executor-memory 500m //进程内存
–executor-cores 1 //开多少个核,线程
–jars $(echo /usr/chl/spark1/jars/*.jar | tr ’ ’ ‘,’) //加载ar
–class com.cn.tzproject.spark.streaming.kafka.kafka2es.Kafka2esStreaming /usr/chl/spark1/tz_bigdata_saprk-1.0-SNAPSHOT.jar

内存溢出有几种可能情况

1、–executor-memory 500m内存分配不足

这种情况,可以逐步加多内存看看,我加到600m可以跑,尽可能加多些内存

2、数据倾斜,由于程序处理原因,导致数据到跑到一个节点上,那个节点的内存不够跑。
分析程序代码,查找可能的原因。

另一个错误
Exception in thread “main” org.apache.hadoop.security.AccessControlException:Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

这个错误是因为系统没有一个用户名叫hdfs,在执行spark任务角色是hdfs
在这里插入图片描述

解决方法:

在.bash_profile里面添加这句 这个文件是/root下的隐藏文件
export HADOOP_USER_NAME=hdfs

然后保存,source .bash_profile

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值