首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spark中“不允许自我抑制”的主要原因是什么?

Spark中“不允许自我抑制”的主要原因是什么?
EN

Stack Overflow用户
提问于 2017-06-12 10:24:36
回答 2查看 15.2K关注 0票数 4

当spark使用saveAsTextFile向HDFS写入一个大文件时,我得到了一个错误:java.lang.IllegalArgumentException: Self-suppression not permitted at java.lang.Throwable.addSuppressed(Throwable.java:1043) Caused by: java.io.IOException: All datanodes DatanodeInfoWithStorage

我一直在寻找解决方案,但我没有找到正确的解决方案,我也不知道为什么。

是什么导致了这些错误,我如何修复它们?

EN

Stack Overflow用户

回答已采纳

发布于 2017-06-12 15:17:22

在这里,错误self-suppression not permitted不是实际的错误。

当运行时试图从代码中抛出多个THROWABLE实例时,JVM会抛出此错误。

为了做到这一点,JDK-7引入了Throwable的"suppressedExceptions“来抑制以前的异常并保留最近的异常。

所以Java尝试了- throwable.addSuppressed(throwable) -这是无效的,Throwable实例本身抛出了IllegalArgumentException,真正的异常就这样丢失了。

从日志:Caused by: java.io.IOException: All datanodes DatanodeInfoWithStorag中可以看出,数据节点似乎有一些问题。

如果您查看集群中正在运行的服务,并检查是否所有的数据节点和守护进程都运行得很好;事情可能会按计划进行。

问题可能是:

数据节点中的

  1. 问题。重新启动群集守护程序。数据节点和名称节点之间的内存心跳:网络问题或权限访问issues.
  2. datanode's memory issue.
  3. Datanode busy或unresponsive
票数 7
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44490579

复制
相关文章

相似问题

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