我在 AWS EMR 集群上使用 JupyterHub。我正在使用 EMR 版本 5.16
我使用 pyspark3 notebook 提交了一个 spark 应用程序。 我的应用程序正在尝试将 1TB 数据写入 s3。 我正在使用 EMR 的自动缩放功能来缩放我们的任务节点。
硬件配置: 1.主节点:32GB内存,16核 2.核心节点:32GB内存,16核 3.任务节点:16GB,每个8核。 (任务节点扩容15个)
我观察到 Spark 应用程序在运行 50 到 60 分钟后被终止。 我试过调试: 1. 我的集群仍有扩展空间。所以这不是资源短缺的问题。 2. Livy session 也被杀死。 3. 在作业日志中,我看到错误消息 RECVD TERM SIGNAL "Shutdown hook 收到了”
请注意: 1. 我一直保持:spark.dynamicAllocation.enabled=true" 2. 我在 Jupiter hub 中使用 yarn fair scheduler 和用户模拟
你能帮我理解问题和解决方案吗?
最佳答案
我认为我遇到了同样的问题,并且由于这个 answer 找到了解决方案.
问题来自 Livy 配置参数 livy.server.session.timeout
,该参数默认将 session 超时设置为 1 小时。
您应该通过将以下行添加到 EMR 集群的配置中来进行设置。
[{'classification': 'livy-conf','Properties': {'livy.server.session.timeout':'5h'}}]
这为我解决了这个问题。
关于pyspark - Spark 应用程序在 1 小时后在 EMR 中突然被 KILLED 并且 livy session 过期。原因和解决方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52227156/