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