Apache Spark Executors Dead - 这是预期的行为吗?

Aug*_*sto 6 hadoop-yarn apache-spark

我正在运行一个管道来处理我在 Spark 上的数据。当我的 Executors 接近存储内存限制时,他们似乎时不时地死去。工作继续并最终完成,但这是正常行为吗?我应该做些什么来防止这种情况发生?每次发生这种情况时,作业都会挂起一段时间,直到(我在这里猜测)YARN 为作业提供了一些新的执行程序以继续。

Spark UI 执行器选项卡

Aug*_*sto 1

我认为这与 Yarn bug 有关。在我按照本博文第 4 节中的建议设置以下 YARN 选项后,这种情况就不再发生了

最佳实践 5:始终将虚拟和物理内存检查标志设置为 false。

"yarn.nodemanager.vmem-check-enabled":"假",

“yarn.nodemanager.pmem-check-enabled”:“假”