本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
故障排除
使用 Studio 或 Studio Classic 笔记本电脑中的 Amazon EMR 集群时,在连接或使用过程中可能会遇到各种潜在问题或挑战。为帮助您排除故障并解决这些错误,本节将就可能出现的常见问题提供指导。
以下是从 Studio 或 Studio Classic 笔记本电脑连接或使用亚马逊EMR集群时可能发生的常见错误。
排除 Livy 连接挂起或失败的问题
以下是使用 Studio 或 Studio Classic 笔记本电脑中的亚马逊EMR集群时可能出现的 Livy 连接问题。
-
您的 Amazon EMR 集群遇到了 out-of-memory错误。
Livy 连接因
sparkmagic
挂起或失败而可能的原因是您的 Amazon EMR 集群遇到了 out-of-memory错误。默认情况下,Apache Spark 驱动程序
spark.driver.defaultJavaOptions
的 Java 配置参数设置为-XX:OnOutOfMemoryError='kill -9 %p'
。这意味着当驱动程序遇到时采取的默认操作OutOfMemoryError
是通过发送SIGKILL信号来终止驱动程序。当 Apache Spark 驱动程序终止时,任何通过依赖于该应用程序的sparkmagic
进行的 Livy 连接都会挂起或失败。这是因为 Spark 驱动程序负责管理 Spark 应用程序的资源,包括任务调度和执行。没有驱动程序时,Spark 应用程序将无法运行,任何与之交互的尝试都会失败。如果您怀疑自己的 Spark 集群出现内存问题,可以查看 Amazon EMR 日志。由于 out-of-memory错误而被杀死的容器通常以代码退出
137
。在这种情况下,您需要重新启动 Spark 应用程序并建立新的 Livy 连接,以恢复与 Spark 集群的交互。你可以参考知识库文章如何解决 Amazon on Amazon Spark 中的 “容器YARN因超过内存限制而被杀死” 错误EMR?
AWS re:Post 继续了解可用于解决 out-of-memory问题的各种策略和参数。 我们建议您查看《亚马逊EMR最佳实践指南
》,了解有关在亚马逊EMR集群上运行 Apache Spark 工作负载的最佳实践和调整指南。 -
首次连接到 Amazon EMR 集群时,您的 Livy 会话超时。
当您最初使用以下方式连接亚马逊EMR集群时 sagemaker-studio-analytics-extension
,可能会遇到连接超时错误:EMRSparkMagic An error was encountered: Session 0 did not start up in 60 seconds.
如果您的 Amazon EMR 集群在建立连接时需要初始化 Spark 应用程序,则出现连接超时错误的可能性就会增加。
为了减少通过分析扩展插件使用 Livy 连接到 Amazon EMR 集群时出现超时的几率,
sagemaker-studio-analytics-extension
版本0.0.19
及更高版本将默认服务器会话超时改为120
秒,而不是默认sparkmagic
的60
秒数。我们建议您通过运行以下升级命令,将扩展程序升级为
0.0.18
或更新版本。pip install --upgrade sagemaker-studio-analytics-extension
请注意,在
sparkmagic
中提供自定义超时配置时,sagemaker-studio-analytics-extension
会遵循此覆盖操作。但是,将会话超时设置为60
秒会自动触发sagemaker-studio-analytics-extension
中的默认服务器会话超时(120
秒)。