本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解
從 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秒。