首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花洗牌内存错误:分配直接内存失败

火花洗牌内存错误:分配直接内存失败
EN

Stack Overflow用户
提问于 2020-03-23 06:13:37
回答 1查看 6K关注 0票数 1

在星火数据帧(4x)上执行几个联接时,我得到以下错误:

代码语言:javascript
复制
org.apache.spark.shuffle.FetchFailedException: failed to allocate 16777216 byte(s) of direct memory (used: 4294967296, max: 4294967296)

即使在设置:

代码语言:javascript
复制
--conf "spark.executor.extraJavaOptions-XX:MaxDirectMemorySize=4G" \

这个问题还没有解决。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-23 23:18:06

好像有太多的飞行障碍了。尝试使用较小的spark.reducer.maxBlocksInFlightPerAddress值。为了便于参考,请看一下这个JIRA

引用案文:

对于具有外部洗牌功能的配置,我们已经观察到,如果一个非常大的no。从远程主机获取的块中,它会使NM承受额外的压力,并可能使其崩溃。此更改引入配置spark.reducer.maxBlocksInFlightPerAddress,以限制no。从给定的远程地址获取的映射输出。这里应用的更改适用于两种场景--当外部洗牌被启用和禁用时。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60808693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档