1小时后,Spark应用程序在EMR中突然KILLED,并且livy会话到期。原因和解决方案是什么?

时间:2018-09-07 17:28:29

标签: pyspark amazon-emr livy

我在AWS EMR集群上使用JupyterHub。我正在使用EMR版本5.16

我使用pyspark3笔记本提交了spark应用程序。 我的应用程序试图将1TB数据写入s3。 我正在使用EMR的自动缩放功能来缩放任务节点。

硬件配置: 1.主节点:32 GB RAM,16核 2.Core节点:32 GB RAM,16核 3.任务节点:16 GB,每个8核。 (任务节点最多可扩展15个)

我观察到Spark应用程序运行50至60分钟后会被杀死。 我尝试调试: 1.我的集群仍有扩展空间。因此,这不是资源短缺的问题。 2. Livy会话也被杀死。 3.在作业日志中,我看到了错误消息RECVD TERM SIGNAL“ Shutdown hook 已收到”

请注意: 1.我保留了:spark.dynamicAllocation.enabled = true“ 2.我在Jupiter集线器中使用具有用户模拟功能的yarn fair调度程序

您能帮助我理解问题及其解决方案吗?

1 个答案:

答案 0 :(得分:0)

我认为我也遇到了同样的问题,由于有了answer,我找到了解决方案。

问题来自Livy配置参数livy.server.session.timeout,该参数将会话的超时默认设置为1小时。

您应该通过在EMR群集的配置中添加以下行来进行设置。

[{'classification': 'livy-conf','Properties': {'livy.server.session.timeout':'5h'}}]

这为我解决了这个问题。