步驟 4:檢查日誌檔案 - Amazon EMR

步驟 4:檢查日誌檔案

下一步是檢查日誌檔案,以便找出錯誤代碼或叢集發生的問題的其他指示。如需有關可用日誌檔案、在哪裡尋找它們以及如何檢視它們的資訊,請參閱 檢視 日誌檔

可能需要進行一些調查工作才能確定發生了什麼。Hadoop 在叢集中的各個節點上執行任務嘗試中的作業工作。Amazon EMR 可以啟動推測性任務嘗試,並終止其他未先完成的任務嘗試。這會產生重要的活動,並在發生時記錄到控制器、stderr 和 syslog 日誌檔案中。此外,多個任務嘗試同時執行,但日誌檔案只能線性顯示結果。

首先檢查引導操作日誌,看看在叢集啟動期間是否有錯誤或非預期的組態變更。從該處,查看步驟日誌以識別作為有錯誤的步驟的一部分啟動的 Hadoop 作業。檢查 Hadoop 作業日誌,以識別失敗的任務嘗試。任務嘗試日誌將包含有關導致任務嘗試失敗的原因的詳細資訊。

下列各章節描述如何使用各種日誌檔案來識別叢集中的錯誤。

檢查引導操作日誌

引導操作會在叢集啟動時在叢集上執行指令碼。它們通常用於在叢集上安裝其他軟體或更改預設值的組態設定。檢查這些日誌可以深入了解叢集設定期間發生的錯誤以及可能影響效能的組態設定變更。

檢查步驟日誌

步驟日誌有四種類型。

  • 控制器 – 包含由 Amazon EMR 產生的檔案,這些檔案是由於嘗試執行步驟時發生的錯誤而產生的。如果您的步驟在載入時失敗,則可以在此日誌中尋找堆疊追蹤。此處通常描述載入或存取應用程式時發生的錯誤,以及遺失映射器檔案的錯誤。

  • stderr – 包含處理步驟時發生的錯誤訊息。此處通常描述應用程式載入錯誤。此日誌有時包含堆疊追蹤。

  • stdout – 包含由映射器和縮減器可執行檔產生的狀態。此處通常描述應用程式載入錯誤。此日誌有時包含應用程式錯誤訊息。

  • syslog – 包含來自非 Amazon 軟體的日誌,例如 Apache 和 Hadoop。此處通常描述串流錯誤。

檢查 stderr 是否有明顯錯誤。如果 stderr 顯示簡短的錯誤清單,則此步驟會快速停止並擲出錯誤。這通常是由叢集中執行的映射器和縮減器應用程式中的錯誤所造成。

檢查控制器和 syslog 的最後幾行是否有錯誤或故障通知。遵循有關失敗任務的任何通知,特別是如果它顯示「作業失敗」。

檢查任務嘗試日誌

如果先前對步驟日誌的分析顯示一或多個失敗的任務,請調查對應任務嘗試的日誌以取得更詳細的錯誤資訊。