故障排除 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

故障排除

以下是在连接或使用 Studio Classic 笔记本电脑上的 Amazon EMR 集群时可能发生的常见错误。

排除 Livy 连接挂起或失败的问题

以下是使用 Studio Classic 笔记本电脑上的 Amazon 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 EMR 上的 Spark 上的 “容器因超过内存限制而被 YARN 杀死” 错误? Amazon Web Services re:Post 继续了解可用于解决 out-of-memory 问题的各种策略和参数。

    我们建议您查看《Amazon EMR 最佳实践指南》,了解有关在 Amazon EMR 集群上运行 Apache Spark 工作负载的最佳实践和调整指南。

  • 首次连接到 Amazon EMR 集群时,您的 Livy 会话超时。

    当你最初使用 sagemaker-studio-analytics-extension连接到亚马逊 EMR 集群时,你可能会遇到连接超时错误,SparkMagic扩展允许使用 Apache Livy 通过库连接到远程 Spark (Amazon EMR) 集群,你可能会遇到连接超时错误:

    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 秒)。