打扰了,当生产环境中的Spark集群运行作业时,它处于独立模式。工作程序内存溢出的几点导致工作程序节点进程死亡。我想问一下如何分析这个问题
答案 0 :(得分:0)
编辑:这是一个相对常见的问题,如果以下内容对您没有帮助Spark java.lang.OutOfMemoryError: Java heap space,请也查看此问题。
在这里看不到代码是您应该遵循的过程:
(1)如果问题主要是由于Java分配在容器分配中的空间不足而引起的,建议您将内存开销设置(如下)弄乱。当前值有点高,将导致vcore过度旋转。将以下两个设置添加到spark-submit中,然后重新运行。
--conf "spark.yarn.executor.memoryOverhead=4000m"
--conf "spark.yarn.driver.memoryOverhead=2000m"
(2)调整执行程序和驱动程序内存级别。从低处开始并爬升。将这些值添加到spark-submit语句中。
--driver-memory 10g
--executor-memory 5g
(3)调整spark提交中的执行程序值数。
--num-executors ##
(4)查看作业的Yarn阶段,并找出代码中存在效率低下的地方以及可以添加和替换持久性的地方。我建议您认真研究火花调整。