故障排除 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

故障排除

使用 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秒,而不是默认sparkmagic60秒数。

    我们建议您通过运行以下升级命令,将扩展程序升级为 0.0.18 或更新版本。

    pip install --upgrade sagemaker-studio-analytics-extension

    请注意,在 sparkmagic 中提供自定义超时配置时,sagemaker-studio-analytics-extension 会遵循此覆盖操作。但是,将会话超时设置为 60 秒会自动触发 sagemaker-studio-analytics-extension 中的默认服务器会话超时(120 秒)。