当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
我一直在寻找解决方案,但我没有找到正确的解决方案,我也不知道为什么。
是什么导致了这些错误,我如何修复它们?
发布于 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
中可以看出,数据节点似乎有一些问题。
如果您查看集群中正在运行的服务,并检查是否所有的数据节点和守护进程都运行得很好;事情可能会按计划进行。
问题可能是:
数据节点中的
https://stackoverflow.com/questions/44490579
复制相似问题