檢視 Amazon EMR日誌檔案 - Amazon EMR

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

檢視 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-common/ClusterSetup.html

檢視主節點上的日誌檔案

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

位置 描述

/emr/instance-controller/log/bootstrap-動作

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

/mnt/var/log/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 stepId指派的 EMR。例如,叢集有兩個步驟: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 連線到主要節點,如 中所述使用 連線至 Amazon EMR叢集主節點 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 日誌封存。

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

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

位置 描述

/cluster-id/節點/

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

/cluster-id/節點/instance-id/application

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

/cluster-id/steps/step-id/

步驟日誌,包含處理步驟的相關資訊。的值 step-id 表示 Amazon 指派的步驟 IDEMR。例如,叢集有兩個步驟: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/容器

應用程式容器日誌。每個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. 下載日誌檔案物件進行檢視。如需指示,請參閱下載物件