檢視 日誌檔 - Amazon EMR

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

檢視 日誌檔

Amazon EMR 和 Hadoop 都會產生報告叢集狀態的日誌檔案。根據預設,會將它們寫入 /mnt/var/log/ 目錄的主節點。根據您設定叢集的方式而定,當您啟動叢集時,這些日誌也可能會封存至 Amazon S3,並且可透過圖形偵錯工具檢視。

寫入主節點的日誌類型有許多種。Amazon EMR 會撰寫步驟、引導動作和執行個體狀態日誌。Apache Hadoop 會撰寫日誌來回報任務、任務和任務嘗試的處理情形。Hadoop 也會記錄其協助程式的日誌。有關由 Hadoop 編寫的日誌的更多信息,請轉到 http://hadoop.apache.org/docs/stable/ hadoop-project-dist /hadoop常見/ ClusterSetup

檢視主節點上的日誌檔案

下表列出可在主節點上尋找的一些日誌檔案。

位置 描述

/emr/instance-controller/log/bootstrap-actions

在處理引導操作期間撰寫的日誌。

/mnt/變色/日誌/ hadoop-state-pusher

Hadoop 狀態推送器程序撰寫的日誌。

/emr/instance-controller/log

執行個體控制器日誌。

/emr/instance-state

執行個體狀態日誌。這些日誌包含有關節點的 CPU、記憶體狀態和廢棄項目收集器執行緒的資訊。

/emr/service-nanny

service nanny 程序撰寫的日誌。

/mnt/var/log/application

應用程式專屬日誌,例如 Hadoop、Spark 或 Hive。

/mnt/var/log/hadoop/steps/N

步驟日誌,包含處理步驟的相關資訊。N 值表示 Amazon EMR 指派的步驟 Id。例如,叢集有兩個步驟:s-1234ABCDEFGHs-5678IJKLMNOP。第一個步驟位於 /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/ 中,第二個步驟位於 /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/ 中。

由 Amazon EMR 編寫的步驟日誌如下所示。

  • controller — 有關步驟處理的資訊。如果您的步驟在載入時失敗,則可以在此日誌中尋找堆疊追蹤。

  • syslog - 描述步驟中 Hadoop 作業的執行情況。

  • stderr — Hadoop 在處理步驟時的標準錯誤通道。

  • stdout — Hadoop 在處理步驟時的標準輸出通道。

使用 AWS CLI檢視主節點上的日誌檔案。
  1. 使用 SSH 連接到主節點,如 使用 SSH 連接至主節點 中所述。

  2. 導覽至包含您要檢視的日誌檔資訊的目錄。上表提供可用的日誌檔類型清單,以及這些日誌檔的所在位置。以下範例說明導覽至 ID 為 s-1234ABCDEFGH 之步驟日誌的命令。

    cd /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/
  3. 使用您選擇的檔案檢視器來檢視日誌檔。以下範例使用 Linux less 命令來檢視 controller 日誌檔。

    less controller

檢視封存至 Amazon S3 的日誌檔案

根據預設,使用主控台啟動的 Amazon EMR 叢集會自動將日誌檔案封存到 Amazon S3。您可以指定自己的日誌路徑,也可以讓主控台自動產生日誌路徑。若是使用 CLI 或 API 啟動叢集,您必須手動設定 Amazon S3 日誌封存。

當 Amazon EMR 設定為將日誌檔案封存到 Amazon S3 時,它會將檔案儲存到您所指定的 S3 位置中,位於 /cluster-id/ 資料夾,其中 cluster-id 是叢集 ID。

下表列出可在 Amazon S3 中尋找的一些日誌檔案。

位置 描述

/cluster-id/node/

節點日誌,包括節點的引導操作、執行個體狀態和應用程式日誌。每個節點的日誌都會存放在以該節點的 EC2 執行個體識別符標示的資料夾中。

/cluster-id/node/instance-id/application

每個應用程式或與應用程式相關聯的協助程式所建立的日誌。例如,Hive 伺服器日誌位於 cluster-id/node/instance-id/hive/hive-server.log

/cluster-id/steps/step-id/

步驟日誌,包含處理步驟的相關資訊。step-id 的值表示 Amazon EMR 指派的步驟 Id。例如,叢集有兩個步驟:s-1234ABCDEFGHs-5678IJKLMNOP。第一個步驟位於 /mnt/var/log/hadoop/steps/s-1234ABCDEFGH/ 中,第二個步驟位於 /mnt/var/log/hadoop/steps/s-5678IJKLMNOP/ 中。

由 Amazon EMR 編寫的步驟日誌如下所示。

  • controller — 有關步驟處理的資訊。如果您的步驟在載入時失敗,則可以在此日誌中尋找堆疊追蹤。

  • syslog - 描述步驟中 Hadoop 作業的執行情況。

  • stderr — Hadoop 在處理步驟時的標準錯誤通道。

  • stdout — Hadoop 在處理步驟時的標準輸出通道。

/cluster-id/containers

應用程式容器日誌。每個 YARN 應用程式的日誌都會存放在這些位置。

/cluster-id/hadoop-mapreduce/

包含 MapReduce工作組態詳細資料和作業歷程記錄相關資訊的記錄檔。

使用 Amazon S3 主控台檢視封存至 Amazon S3 的日誌檔案
  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 當您設定叢集將日誌檔案封存在 Amazon S3 中時,請開啟指定的 S3 儲存貯體。

  3. 導覽至包含所要顯示資訊的日誌檔。上表提供可用的日誌檔類型清單,以及這些日誌檔的所在位置。

  4. 下載日誌檔案物件進行檢視。如需指示,請參閱下載物件

在偵錯工具中檢視日誌檔案

Amazon EMR 不會自動啟用偵錯工具。您必須在啟動叢集時進行這項設定。請注意,新的 Amazon EMR 主控台不提供偵錯工具。

使用舊主控台檢視叢集日誌
  1. 導覽至新的 Amazon EMR 主控台,然後從側邊導覽選取切換至舊主控台。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 叢集清單頁面中,選擇您要檢視之叢集旁邊的詳細資訊圖示。

    這會開啟叢集詳細資訊頁面。在步驟區段中,每個步驟右側的連結會顯示該步驟可用的各種日誌類型。這些日誌由 Amazon EMR 產生。

  3. 若要檢視與指定步驟相關聯的 Hadoop 作業清單,請選擇步驟右邊的檢視作業連結。

  4. 若要檢視與指定作業相關聯的 Hadoop 作業清單,請選擇作業右邊的檢視作業連結。

  5. 若要檢視指定任務在設法完成時執行的嘗試清單,請選擇任務右邊的檢視嘗試次數連結。

  6. 若要檢視任務嘗試所產生的日誌,請選擇任務嘗試右側的 stderrstdoutsyslog 連結。

在 Amazon EMR 將日誌檔案上傳至 Amazon S3 上的儲存貯體後,偵測工具會顯示日誌檔案的連結。由於日誌檔案每 5 分鐘就會上傳到 Amazon S3 一次,因此步驟完成後,可能還需要幾分鐘時間日誌檔案上傳才會完成。

Amazon EMR 會定期更新偵錯工具中 Hadoop 作業、作業和作業嘗試的狀態。您可以按一下偵錯窗格中的 [重新整理清單],以取得這些項目的最多 up-to-date 狀態。