

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 疑難排解
<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 叢集發生記憶體不足錯誤。**

  透過 `sparkmagic` 進行 Livy 連線掛起或失敗的一個可能原因是您的 Amazon EMR 叢集遇到記憶體不足錯誤。

  依預設，Apache Spark 驅動程式的 Java 設定參數 `spark.driver.defaultJavaOptions` 設定為 `-XX:OnOutOfMemoryError='kill -9 %p'`。這表示當驅動程式遇到 `OutOfMemoryError` 時採取的預設動作是透過發送 SIGKILL 訊號來終止驅動程式。當 Apache Spark 驅動程式終止時，任何依賴該驅動程式透過 `sparkmagic` 的 Livy 連線都會掛起或失敗。這是因為 Spark 驅動程式負責管理 Spark 應用程式資源，包括任務排程與執行。如果沒有驅動程式，Spark 應用程式就無法運作，並且任何嘗試與它互動的嘗試都會失敗。

  如果您懷疑 Spark 叢集遇到記憶體問題，可以檢查 [Amazon EMR 日誌](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html)。由於記憶體不足錯誤而終止的容器通常以代碼 `137` 退出。在這種情況下，您需要重新啟動 Spark 應用程式並建立新的 Livy 連線，以繼續與 Spark 叢集的互動。

  您可以參考知識庫文章[如何解決 Amazon EMR 上的 Spark 中的錯誤「YARN 因超過記憶體限制而終止容器」？](https://repost.aws/knowledge-center/emr-spark-yarn-memory-limit) AWS re:Post 了解可用於解決out-of-memory問題的各種策略和參數。

  我們建議您參閱 [Amazon EMR 最佳實務指南](https://aws.github.io/aws-emr-best-practices/)，以取得有關在 Amazon EMR 叢集上執行 Apache Spark 工作負載的最佳實務和調整指引。
+ **第一次連線至 Amazon EMR 叢集時，您的 Livy 工作階段逾時會逾時。**

  當您最初使用 [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/) 連線至 Amazon EMR 叢集 (此擴展功能允許使用 [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`秒。