疑難排解 - Amazon SageMaker AI

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

疑難排解

從 Studio 或 Studio Classic 筆記本使用 Amazon EMR 叢集時,您可能會在連線或使用過程中遇到各種潛在問題或挑戰。為了協助您疑難排解和解決這些錯誤,本節提供可能發生的常見問題指引。

以下是從 Studio 或 Studio Classic 筆記本連線或使用 Amazon EMR 叢集時可能發生的常見錯誤。

對 Livy 連線掛起或失敗進行故障診斷

以下是從 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 日誌。由於記憶體不足錯誤而終止的容器通常以代碼 137 退出。在這種情況下,您需要重新啟動 Spark 應用程式並建立新的 Livy 連線,以繼續與 Spark 叢集的互動。

    您可以參考知識庫文章如何解決 Amazon EMR 上的 Spark 中的錯誤「YARN 因超過記憶體限制而終止容器」? AWS re:Post 了解可用於解決out-of-memory問題的各種策略和參數。

    我們建議您參閱 Amazon EMR 最佳實務指南,以取得有關在 Amazon EMR 叢集上執行 Apache Spark 工作負載的最佳實務和調整指引。

  • 第一次連線至 Amazon EMR 叢集時,您的 Livy 工作階段逾時會逾時。

    當您最初使用 sagemaker-studio-analytics-extension 連線至 Amazon EMR 叢集 (此擴展功能允許使用 Apache Livy 透過 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秒。