

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

# 问题排查
<a name="studio-notebooks-emr-troubleshooting"></a>

从 Studio 或 Studio Classic 笔记本使用 Amazon EMR 集群时，您可能会在连接或使用过程中遇到各种潜在问题或挑战。为帮助您排除故障并解决这些错误，本节将就可能出现的常见问题提供指导。

从 Studio 或 Studio Classic 笔记本连接或使用 Amazon EMR 集群时，可能会出现以下常见错误。

## 排除 Livy 连接挂起或失败的问题
<a name="studio-notebooks-emr-troubleshooting.memoryerror"></a>

以下是通过 Studio 或 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](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html) 日志。由于 out-of-memory错误而被杀死的容器通常以代码退出`137`。在这种情况下，您需要重新启动 Spark 应用程序并建立新的 Livy 连接，以恢复与 Spark 集群的交互。

  你可以参考知识库文章[如何解决 Amazon EMR 上的 Spark 上的 “容器因超过内存限制而被 YARN 杀死” 错误](https://repost.aws/knowledge-center/emr-spark-yarn-memory-limit)？ Amazon Web Services re:Post 继续了解可用于解决 out-of-memory问题的各种策略和参数。

  我们建议您查看《[Amazon EMR 最佳实践指南](https://aws.github.io/aws-emr-best-practices/)》，了解有关在 Amazon EMR 集群上运行 Apache Spark 工作负载的最佳实践和调整指南。
+ **首次连接到 Amazon EMR 集群时，您的 Livy 会话超时。**

  当您最初使用连接到 Amazon EMR 集群时 [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/)，可能会遇到连接[超时错误，该集群允许使用 Apache Livy](https://livy.apache.org/) 通过[SparkMagic](https://github.com/jupyter-incubator/sparkmagic)库连接到远程 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` 秒）。