Spark 错误 - 退出状态:143。诊断:容器应请求终止

Posted

技术标签:

【中文标题】Spark 错误 - 退出状态:143。诊断:容器应请求终止【英文标题】:Spark Error - Exit status: 143. Diagnostics: Container killed on request 【发布时间】:2020-10-17 06:08:49 【问题描述】:

我收到以下错误:

原因:org.apache.spark.SparkException:作业因阶段失败而中止:阶段 7.0 中的任务 653 失败 4 次,最近一次失败:阶段 7.0 中丢失任务 653.3(TID 27294,ip-10-0- 57-16.ec2.internal,执行程序 34):ExecutorLostFailure(执行程序 34 退出由正在运行的任务之一引起)原因:容器标记为失败:主机上的 container_1602898457220_0001_01_000370:ip-10-0-57-16.ec2.internal。退出状态:143。诊断:容器应请求终止。退出代码是 143 容器以非零退出代码 143 退出 被外部信号杀死

我的数据集是 80GB 我所做的操作是创建一些方形交互功能,因此列数可能会增加一倍。

我正在使用 20 m4.16xlarge (64CPU, 256GB, https://aws.amazon.com/ec2/instance-types/) 实例 spark.yarn.executor.memoryOverhead = '16384'

我可以做些什么来解决这个问题吗?以及为什么即使我的数据集比我的实例数小得多,也会出现 OOM 错误。

【问题讨论】:

143 通常表示内存不足问题。尝试增加并行度 谢谢!我应该增加哪个并行参数,spark.default.parallelism? 可以添加发布您的火花代码和火花提交命令吗?? 【参考方案1】:

我增加以下两个参数,避免错误:

spark.default.parallelism = '128' spark.executor.cores = '16'

【讨论】:

以上是关于Spark 错误 - 退出状态:143。诊断:容器应请求终止的主要内容,如果未能解决你的问题,请参考以下文章

Spark 退出状态 134. 啥意思

容器以非零退出代码 143 退出。被外部信号杀死

AWS-EMR 错误退出代码 143

K8s的探针

tar: /usr/local:归档中找不到tar: 由于前次错误,将以上次的错误状态退出

Liveness 探测 - 每天5分钟玩转 Docker 容器技术(143)