我在EMR 6.9上运行了Spark 3作业,它正在持续运行作业。我注意到随着时间的推移,任务节点的磁盘使用量逐渐增加。我注意到任务节点上出现了这样的错误-
2023-04-12 22:02:45,532 WARN org.apache.hadoop.yarn.util.ProcfsBasedProcessTree (Container Monitor): Error reading the stream java.io.IOException: No such process
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at org.apache.hadoop.yarn.util.ProcfsBasedProcessTree.constructProcessInfo(ProcfsBasedProcessTree.java:531)
at org.apache.hadoop.yarn.util.ProcfsBasedProcessTree.updateProcessTree(ProcfsBasedProcessTree.java:211)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl$MonitoringThread.run(ContainersMonitorImpl.java:537)
看起来任务死了,留下了shuffle日志,但是什么可能是任务死的原因呢?重新启动作业会降低磁盘利用率。
1条答案
按热度按时间ggazkfy81#
从Java错误看,Spark的临时日志文件变得非常大,并且在某个时间点强制任务崩溃并出现IO异常(当文件大小为too large时发生-这就是您在重启时看到磁盘使用量减少的原因)。您可以:
WARN
或ERROR
以减小日志文件大小-Xmx4096m