3

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

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

硬件配置: 1.Master 节点:32 GB RAM,16 核 2.Core 节点:32 GB RAM,16 核 3.Task 节点:16 GB,每个 8 核。(任务节点放大 15 个)

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

请注意: 1. 我保留了 :spark.dynamicAllocation.enabled=true" 2. 我在 Jupiter hub 中使用带有用户模拟的 yarn fair 调度程序

你能帮我理解问题和解决方案吗?

4

1 回答 1

0

我认为我遇到了同样的问题,并且由于这个答案我找到了解决方案。

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

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

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

这为我解决了这个问题。

于 2019-05-16T13:48:32.867 回答