Apache spark DAG调度程序事件循环outOfMemoryerror:带有Spark流应用程序的Java堆空间
我的Spark流媒体应用程序不断失败,OutOfmemoryException:Java堆空间 我正在使用以下配置进行Spark提交作业Apache spark DAG调度程序事件循环outOfMemoryerror:带有Spark流应用程序的Java堆空间,apache-spark,out-of-memory,Apache Spark,Out Of Memory,我的Spark流媒体应用程序不断失败,OutOfmemoryException:Java堆空间 我正在使用以下配置进行Spark提交作业 spark-submit \ --class ... \ --master ...\ --deploy-mode cluster \ --executor-memory 1G \ --total-executor-cores 3 \ --driver-memory 2G spark.Thread.driver.memoryOverhe
spark-submit \
--class ... \
--master ...\
--deploy-mode cluster \
--executor-memory 1G \
--total-executor-cores 3 \
--driver-memory 2G
spark.Thread.driver.memoryOverhead设置为1G
在分析堆转储之后,我注意到“DAG调度程序事件循环”的使用过多,如果我进一步研究它,我会看到使用CHAR[]和byte[]类
旧一代GC占用了所有2GB的内存并在继续增长
请指出这是一个bug,或者您需要更多关于它的信息来进一步分析它
非常感谢您的帮助。在Spark 2.0.0中使用ForkJoinPool时,似乎存在一个错误,导致线程过多
此问题已在此处解决您正在处理多少数据?1G对于spark executor来说是非常低的内存量。别忘了JVM运行时需要额外的开销,无论如何,您都无法获得完整的1G。您需要增强执行者的记忆。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效。