9小时后Spark Streaming作业失败并出现此错误

时间:2018-10-05 06:05:31

标签: apache-spark garbage-collection spark-streaming

我的Spark Streaming作业的纱线日志中出现此错误。关于如何调整的任何建议都将有所帮助。

2018-10-04T23:13:33.496+0000: [GC (Allocation Failure) 2018-10-04T23:13:33.497+0000: [ParNew: 605346K->51088K(629120K), 0.0146063 secs] 4367136K->3824642K(6191580K), 0.0161894 secs] [Times: user=0.16 sys=0.00, real=0.02 secs] 
2018-10-04T23:13:34.501+0000: [GC (Allocation Failure) 2018-10-04T23:13:34.502+0000: [ParNew: 610320K->67154K(629120K), 0.0171408 secs] 4383874K->3854168K(6191580K), 0.0187251 secs] [Times: user=0.21 sys=0.00, real=0.02 secs] 
Heap
 par new generation   total 629120K, used 117091K [0x00007f2c50000000, 0x00007f2c7aaa0000, 0x00007f2cc7990000)
  eden space 559232K,   8% used [0x00007f2c50000000, 0x00007f2c530c4658, 0x00007f2c72220000)
  from space 69888K,  96% used [0x00007f2c72220000, 0x00007f2c763b4868, 0x00007f2c76660000)
  to   space 69888K,   0% used [0x00007f2c76660000, 0x00007f2c76660000, 0x00007f2c7aaa0000)
 concurrent mark-sweep generation total 5562460K, used 3787014K [0x00007f2cc7990000, 0x00007f2e1b1a7000, 0x00007f3b50000000)
 Metaspace       used 106113K, capacity 112552K, committed 129688K, reserved 131072K
End of LogType:stdout

在驱动程序输出中,这是我得到的错误。

java.lang.Exception: Could not compute split, block input-1-1538678764402

1 个答案:

答案 0 :(得分:0)

您是否在作业中使用Java.Maps / Sets?对我来说,这就像内存不足一样。

在这种情况下,您至少要有以下选择:

1)调整用于作业的内存设置。每个执行器的内存可以通过--executor-memory标志进行控制。 2)使用其他Map / Set实现-如果是Java,则可以切换到Trove

希望,这会有所帮助。