Spark 任务失败并显示错误,显示退出状态:-100



在纱线模式下运行的 Spark 作业显示很少的任务失败,原因如下:

执行程序

丢失失败(执行程序 36 由其中一个正在运行的任务退出( 原因:容器标记为失败:主机上的container_xxxxxxxxxx_yyyy_01_000054:ip-xxx-yy-zzz-zz。退出状态:-100。诊断:容器在*丢失*节点上释放

知道为什么会这样吗?

主要有两个原因。

  1. 可能是因为你的内存纱线容器所需的开销不够,解决办法是增加spark.executor.memoryOverhead
  2. 可能是因为从节点磁盘没有足够的空间来写入 Spark 所需的 tmp 数据。 检查您的 yarn 用户缓存目录(对于 EMR,它位于 /mnt/yarn/usercache/ 上(,
    或键入 df -h 以检查磁盘剩余空间。

被框架杀死的容器,无论是由于应用程序释放还是由于节点故障等原因而"丢失",都有一个特殊的退出代码 -100。节点故障可能是由于磁盘空间或执行程序内存不足。

我知道

您的集群不在 AWS 上,但作为 AWS 经理,MR 集群他们发布了常见问题解答

对于胶水作业:https://aws.amazon.com/premiumsupport/knowledge-center/container-released-lost-node-100-glue/

对于电子病历:https://aws.amazon.com/premiumsupport/knowledge-center/emr-exit-status-100-lost-node/

最新更新