Spark 运行内存不足Not enough space to cache rdd in memory,Container killed by YARN for exceeding memory

日志报错(WARN类型最后执行成功可以忽略):

19/04/15 12:35:37 INFO memory.MemoryStore: Will not store rdd_2_5119/04/15 12:35:37 WARN memory.MemoryStore: Not enough space to cache rdd_2_51 in memory! (computed 1109.7 MB so far)19/04/15 12:35:37 INFO memory.MemoryStore: Memory use = 627.7 MB (blocks) + 1109.7 MB (scratch space shared across 1 tasks(s)) = 1737.4 MB. Storage limit = 2004.6 MB.19/04/15 12:35:37 WARN storage.BlockManager: Persisting block rdd_2_51 to disk instead.19/04/15 13:01:46 INFO zookeeper.ReadOnlyZKClient: Close zookeeper connection 0x331abd57 to fwqml016.zh:2181,fwqml018.zh:2181,fwqml009.zh:218119/04/15 13:01:49 INFO memory.MemoryStore: Will not store rdd_2_5119/04/15 13:01:49 WARN memory.MemoryStore: Not enough space to cache rdd_2_51 in memory! (computed 1109.7 MB so far)19/04/15 13:01:49 INFO memory.MemoryStore: Memory use = 627.7 MB (blocks) + 1109.7 MB (scratch space shared across 1 tasks(s)) = 1737.4 MB. Storage limit = 2004.6 MB.

webUI页面报错:

异常提示内存空间不足

解决方法:

1.将"spark.yarn.executor.memoryOverhead"设置为最大值,可以考虑一下4096。这个数值一般都是2的次幂。

2.将rdd进行重新分区,这里可以考虑200k。在spark2.3的版本中,rdd成为了dateframe格式的数据。

3.将"executor.cores"从8设置为4。将core的个数调小,防止cpu不足。

4.将"executor.memory"从8g设置为12g。将内存调大。

 

一般引起内存的问题都可使用该参数进行调整,

如常见异常:

WARN yarn.YarnAllocator: Container killed by YARN for exceeding memory limits. 2.2 GB of 2.1 GB virtual memory used. Consider boosting spark.yarn.executor.memoryOverhead.

当executor的内存使用大于executor-memory与executor.memoryOverhead的加和时,Yarn会干掉这些executor,

修改上面描述参数也可以解决该问题

 

 

最初导致异常提交的配置为:

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.data.filter.ArticleFilter \
--jars $(echo ./lib/*.jar | tr ' ' ',') \
--num-executors 50 \
--executor-cores 2 \
--conf spark.yarn.queue=etl \
--executor-memory 4g \
--driver-memory 1g \
--conf spark.kryoserializer.buffer.max=2000 \
--conf spark.akka.frameSize=500 \
--conf spark.sql.shuffle.partitions=100 \
--conf spark.default.parallelism=100 \
--conf spark.storage.memoryFraction=0.3 \
--conf spark.shuffle.memoryFraction=0.7 \
--conf spark.shuffle.safetyFraction=0.8 \
--conf spark.shuffle.spill=true \
--conf spark.yarn.queue=etl \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
./data-filter.jar

修改Executor-memory后执行成功的参数,修改为 --executor-memory 8g 

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.data.filter.ArticleFilter \
--jars $(echo ./lib/*.jar | tr ' ' ',') \
--num-executors 50 \
--executor-cores 2 \
--conf spark.yarn.queue=etl \
--executor-memory 8g \
--driver-memory 1g \
--conf spark.kryoserializer.buffer.max=2000 \
--conf spark.akka.frameSize=500 \
--conf spark.sql.shuffle.partitions=100 \
--conf spark.default.parallelism=100 \
--conf spark.storage.memoryFraction=0.3 \
--conf spark.shuffle.memoryFraction=0.7 \
--conf spark.shuffle.safetyFraction=0.8 \
--conf spark.shuffle.spill=true \
--conf spark.yarn.queue=etl \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
./data-filter.jar

或修改--conf spark.yarn.executor.memoryOverhead=4096参数同样也执行成功了

spark-submit \
--master yarn \
--deploy-mode cluster \
--class com.data.filter.ArticleFilter \
--jars $(echo ./lib/*.jar | tr ' ' ',') \
--num-executors 50 \
--executor-cores 2 \
--conf spark.yarn.queue=etl \
--executor-memory 4g \
--driver-memory 1g \
--conf spark.yarn.executor.memoryOverhead=4096 \
--conf spark.kryoserializer.buffer.max=2000 \
--conf spark.akka.frameSize=500 \
--conf spark.sql.shuffle.partitions=100 \
--conf spark.default.parallelism=100 \
--conf spark.storage.memoryFraction=0.3 \
--conf spark.shuffle.memoryFraction=0.7 \
--conf spark.shuffle.safetyFraction=0.8 \
--conf spark.shuffle.spill=true \
--conf spark.yarn.queue=etl \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
./data-filter.jar

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv 读取CV_16U图像 c++

cv::Mat depthImage cv::imread("../data1/depth0.png",-1);

Spark 某两个节点数据分析速度慢 - hbase数据删除(分裂) 元信息未删除导致 There is an overlap in the region chain.

基于Hbase2.0,Spark2.2 问题描述 执行Spark处理Hbase数据时,遇到某两个Excutor处理速度特别慢,如图 正常速度10多分钟 左右处理完成, 一个多小时有另外一个处理完成,还有一个在处理中。 分析原因 1.查看hbase数据分…

servlet中用out.print输出中文为“乱码”如何解决

最开始准备再servlet中加1.request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码。显然这个作用范围不同不可取。2.response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。 这是在服务器端的编…

python pip清华源安装库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn imageio

Spark NaiveBayes Demo 朴素贝叶斯分类算法

模型sql文件 :https://pan.baidu.com/s/1hugrI9e使用数据链接 https://pan.baidu.com/s/1kWz8fNhNaiveBayes Spark Mllib训练 package com.xxx.xxx.xxximport java.io.ObjectInputStream import java.sql.{Connection, DriverManager, PreparedStatement} import java.util.{A…

TCP,UDP数据包的大小以及MTU

TCP、UDP数据包大小的确定 UDP和TCP协议利用端口号实现多项应用同时发送和接收数据。数据通过源端口发送出去,通过目标端口接收。有的网络应用只能使用预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP和TCP报头使用两个字…

jQuery如何在线导入js包

<script src"http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> 在<script>中加入导入的在线网络链接就ok了。 当然这种办法是你本地的包导入不进去或者是本地没有jquery的包

ubuntu 安装cudnn

tips:cudnn要与cuda对应版本下载 1.下载对应cuda版本的cudnn&#xff0c;需要注册Nvidia开发者账号。NVIDIA cuDNN下载地址:https://developer.nvidia.com/cudnn 2.解压&#xff1a;tar zxvf cudnn*.tgz 3.cuda的安装目录通过which nvcc 查看 cuda安装目录为/usr/loca/cuda…

map和hash_map

list支持快速的插入和删除&#xff0c;但是查找费时; vector支持快速的查找&#xff0c;但是插入费时。 map查找的时间复杂度是对数的&#xff0c;这几乎是最快的&#xff0c;hash也是对数的。 如果我自己写&#xff0c;我也会用二叉检索树&#xff0c;它在大部分情况下可以保…

ubuntu开机报错 system program problem detected

解决方式&#xff1a; sudo gedit /etc/default/apport 将其中的 enable 1改为enable 0

jQuery ajax实现

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>toggle方法</title><meta http-equiv"keywords" content"keyword1,keyword2,keyword3"><meta http-equiv"d…

在MFC程序中增加控制台窗口

MFC程序中&#xff0c;如果想要输出调试信息&#xff0c;我们一般都是TRACE或者使用LOG文件&#xff0c;都不是很方便&#xff0c;第一个需要我们在调试状态下&#xff0c;第二个也要配置麻烦而且不直观。而使用Console来显示调试信息应该是更好的选择。下面介绍几种在MFC程序中…

Kafka安全认证 SASL/PLAINTEXT,账号密码认证

环境 操作系统&#xff1a;CentOS 7.3 Kafka Version&#xff1a;1.1.1 Zookeeper Version:3.4.14 一、Zookeeper集群配置SASL zookeeper所有节点都是对等的&#xff0c;只是各个节点角色可能不相同。以下步骤所有的节点配置相同。 1、zoo.cfg文件配置 为zookeeper添加S…

预处理指令 #pragma 的使用

#pragma comment( comment-type [,"commentstring"] )该宏放置一个注释到对象文件或者可执行文件。comment-type是一个预定义的标识符&#xff0c;指定注释的类型&#xff0c;应该是compiler&#xff0c;exestr&#xff0c;lib&#xff0c;linker之一。commentstring…

Kafka ACL控制,用户权限能控制

本文章基于Kafka配置 SASL/PLAINTEXT后编写&#xff0c;如未配置请参考&#xff1a;https://datamining.blog.csdn.net/article/details/90264636 进行修改 配置kafka server.properties文件 super.users 指定超级用户&#xff0c;不受权限控制 listenersSASL_PLAINTEXT://ip…

ubuntu 系统U盘中 文件出现小锁子

1.插入不有问题的U盘&#xff0c;输入sudo fdisk -l指令&#xff0c;查看磁盘信息。 Disk /dev/sda: 57.6 GiB, 61872793600 bytes, 120845300 sectors Units: sectors of 1 * 512 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optim…

mysql配置

MySQL5.6.11安装步骤&#xff08;Windows7 64位&#xff09; http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html1. 下载MySQL Community Server 5.6.21&#xff0c;注意选择系统类型&#xff08;32位/64位&#xff09; 2. 解压MySQL压缩包 将以下载的MySQL压缩包…

Kafka JMX监控报错 Failed to get broker metrics for BrokerIdentity(128,192.168.2.128,9999,true,false,Map

KafkaManager报错 2019-05-19 14:21:53,817 - [ERROR] k.m.a.c.BrokerViewCacheActor - Failed to get broker metrics for BrokerIdentity(128,192.168.2.128,9999,true,false,Map(SASL_PLAINTEXT -> 19092)) java.rmi.ConnectException: Connection refused to host: 127.…

大数据技术讲解

HDFS的体系架构 整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持&#xff0c;并通过MR来实现对分布式并行任务处理的程序支持。 HDFS采用主从&#xff08;Master/Slave&#xff09;结构模型&#xff0c;一个HDFS集群是由一个NameNode和若干个DataNode组…

mfc常见面试题

http://www.mianwww.com/html/2014/05/21208.html 理解c&#xff0b;&#xff0b;语言中一些概念以及它们之间的区别&#xff08;需要深刻理解&#xff09;&#xff1a; &#xff08;1&#xff09;局部变量全局变量静态变量 const常量寄存器变量宏定义的常量 static变量注&…