处理 Spark 运行时缺少执行程序内存异常



我有一个 Spark 应用程序,可能会出现意外数据流入应用程序并在运行时陷入内存异常的情况。

我该如何处理这种情况。

当执行程序内存不足时,会发生此错误。

错误消息

Java.lang.OutOfMemory:GC 开销

解决方案:通过以下方式增加执行程序内存建立:

conf spark.executor.memory= <XY>g

同时增加随机分区作为

spark.sql.shuffle.partitions = <XY>

由于内存错误实际上是致命的,并且无法在运行时更改执行程序内存设置,因此除了使用新的、更高的内存限制重新启动应用程序外,您无能为力。

您可以尝试使用更高的执行程序内存再次运行作业,请尝试以下配置参数。

-

-conf "spark.executor.memory=16g"

此外,如果您遇到相同的问题是驱动程序,您可以尝试以下以增加驱动程序内存。

-

-conf "spark.driver.memory=16g"

希望这有帮助。

干杯!

最新更新