使用 監控 Amazon EMR指標 CloudWatch - Amazon EMR

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

使用 監控 Amazon EMR指標 CloudWatch

指標每五分鐘更新一次,並 CloudWatch 為每個 Amazon EMR叢集自動收集和推送到 。此間隔無法設定。中報告的 Amazon EMR指標不收費 CloudWatch。這些五分鐘資料點指標會封存 63 天,之後會捨棄這些資料。

如何使用 Amazon EMR指標?

下表顯示 Amazon 報告的指標的常見用途EMR。這些是協助您開始的建議,而不是完整清單。如需 Amazon 報告指標的完整清單EMR,請參閱 Amazon 在 EMR中報告的指標 CloudWatch

運作方式? 相關指標
追蹤我的叢集進度 查看 RunningMapTasksRemainingMapTasksRunningReduceTasks,和 RemainingReduceTasks 指標。
偵測閒置叢集 IsIdle 指標會追蹤叢集是否處於活動狀態,而非目前正在執行的任務。當叢集已閒置一段指定時間 (例如 30 分鐘) 時,您可以設置警示以將其觸發。
偵測節點何時耗盡儲存空間 MRUnhealthyNodes 指標會在一或多個核心或任務節點耗盡本機磁碟儲存並轉換為 UNHEALTHY YARN 狀態時追蹤。例如,核心節點或任務節點的磁碟空間不足,將無法執行任務。
偵測叢集何時耗盡儲存空間 HDFSUtilization 指標會監控叢集的合併HDFS容量,並且可能需要調整叢集大小以新增更多核心節點。例如,HDFS使用率很高,這可能會影響任務和叢集運作狀態。
偵測叢集何時在容量減少的情況下執行 MRLostNodes 指標會追蹤一個或多個核心節點或任務節點無法與主節點通訊。例如,主節點無法存取核心節點或任務節點。

如需詳細資訊,請參閱 Amazon EMR叢集終止 NO_SLAVE_LEFT 和核心節點 FAILED_BY_MASTERAWSSupport-A nalyzeEMRLogs

存取 Amazon 的 CloudWatch 指標 EMR

您可以使用 Amazon EMR主控台或 CloudWatch 主控台,檢視 Amazon EMR回報至 CloudWatch 的指標。您也可以使用 CloudWatch CLI 命令mon-get-stats或 CloudWatch GetMetricStatistics 擷取指標API。如需EMR使用 檢視或擷取 Amazon 指標的詳細資訊 CloudWatch,請參閱 Amazon CloudWatch 使用者指南

Console
使用主控台檢視指標
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/emr 開啟 Amazon EMR主控台。

  2. 在左側導覽窗格中的 EMREC2下,選擇叢集 ,然後選擇您要檢視指標的叢集。這會開啟叢集詳細資訊頁面。

  3. 選取叢集詳細資訊頁面中的監控索引標籤。選擇叢集狀態節點狀態輸入和輸出選項中的任何一個,載入有關叢集進度和運作狀態的報告。

  4. 選擇要檢視的指標後,可以放大每個圖形。若要篩選圖形的時間範圍,請選取預先填入的選項或選擇自訂

Amazon 在 EMR中報告的指標 CloudWatch

下表列出 Amazon 在主控台中EMR報告的指標,並推送至 CloudWatch。

Amazon EMR指標

Amazon EMR會將數個指標的資料傳送至 CloudWatch。所有 Amazon EMR叢集都會每隔五分鐘自動傳送指標。指標將封存兩週,之後即會捨棄資料。

AWS/ElasticMapReduce 命名空間包含下列指標。

注意

Amazon 從叢集EMR提取指標。如果叢集無法連接,則不會報告指標,除非叢集再次可用。

以下指標可用於執行 Hadoop 2.x 版本的叢集。

指標 描述
叢集狀態

IsIdle

指出叢集不再執行工作,但仍然處於作用中狀態並會產生費用。如果未執行任何任務,而且未執行任何工作,則會設為 1,否則設為 0。每隔五分鐘檢查一次此值,值 1 表示叢集只在檢查時為閒置狀態,而不是整個五分鐘都閒置。為了避免誤判,此值已為 1 且持續多個連續 5 分鐘檢查時,您應該發出警示。例如,如果此值已為 1 且持續 30 分鐘 (含) 以上,則您可以對此值發出警示。

使用案例:監控叢集效能

單位:布林值

ContainerAllocated

配置的資源容器數目ResourceManager。

使用案例:監控叢集進度

單位:計數

ContainerReserved

保留容器數目。

使用案例:監控叢集進度

單位:計數

ContainerPending

佇列中尚未配置的容器數目。

使用案例:監控叢集進度

單位:計數

ContainerPendingRatio

待定容器與配置容器的比率 (ContainerPendingRatio = ContainerPending / ContainerAllocated)。如果 ContainerAllocated = 0,則 ContainerPendingRatio = ContainerPending。的值 ContainerPendingRatio 代表數字,而不是百分比。此值適用於根據容器配置行為來調整叢集資源。

單位:計數

AppsCompleted

提交至 YARN 已完成的應用程式數目。

使用案例:監控叢集進度

單位:計數

AppsFailed

提交至 YARN但無法完成的應用程式數目。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

AppsKilled

提交至 YARN的應用程式數量已被刪除。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

AppsPending

提交至YARN處於待處理狀態的應用程式數量。

使用案例:監控叢集進度

單位:計數

AppsRunning

提交至 YARN 正在執行的應用程式數目。

使用案例:監控叢集進度

單位:計數

AppsSubmitted

提交給 的應用程式數量YARN。

使用案例:監控叢集進度

單位:計數

節點狀態

CoreNodesRunning

運作中核心節點數目。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

CoreNodesPending

等待進行指派的核心節點數目。所有要求的核心節點可能都無法立即可用;此指標報告擱置中要求。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

LiveDataNodes

將接收來自 Hadoop 之工作的資料節點百分比。

使用案例:監控叢集運作狀態

單位:百分比

MRTotalNodes

任務目前可用的節點數量 MapReduce 。等同於YARN指標 mapred.resourcemanager.TotalNodes

使用案例:監控叢集進度

單位:計數

MRActiveNodes

目前執行 MapReduce 的任務或任務的節點數量。等同於YARN指標 mapred.resourcemanager.NoOfActiveNodes

使用案例:監控叢集進度

單位:計數

MRLostNodes

配置到 MapReduce 的節點數量已標記為 LOST 狀態。等同於YARN指標 mapred.resourcemanager.NoOfLostNodes

使用案例:監控叢集運作狀態、監控叢集進度

單位:計數

MRUnhealthyNodes

標記為 UNHEALTHY 狀態 MapReduce 的任務可用的節點數目。等同於YARN指標 mapred.resourcemanager.NoOfUnhealthyNodes

使用案例:監控叢集進度

單位:計數

MRDecommissionedNodes

配置給DECOMMISSIONED狀態已標記 MapReduce 之應用程式的節點數目。等同於YARN指標 mapred.resourcemanager.NoOfDecommissionedNodes

使用案例:監控叢集運作狀態、監控叢集進度

單位:計數

MRRebootedNodes

已重新啟動並標記為 REBOOTED 狀態 MapReduce 的可用節點數量。等同於YARN指標 mapred.resourcemanager.NoOfRebootedNodes

使用案例:監控叢集運作狀態、監控叢集進度

單位:計數

MultiMasterInstanceGroupNodesRunning

執行中主節點的數量。

使用案例:監控主節點故障情形和替換狀況

單位:計數

MultiMasterInstanceGroupNodesRunningPercentage

超過所請求主節點執行個體計數的主節點百分比。

使用案例:監控主節點故障情形和替換狀況

單位:百分比

MultiMasterInstanceGroupNodesRequested

請求的主節點數量。

使用案例:監控主節點故障情形和替換狀況

單位:計數

IO

S3BytesWritten

寫入至 Amazon S3 的位元組數目。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

S3BytesRead

讀取自 Amazon S3 的位元組數目。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

HDFSUtilization

目前使用的HDFS儲存體百分比。

使用案例:分析叢集效能

單位:百分比

HDFSBytesRead

從 讀取的位元組數HDFS。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

HDFSBytesWritten

寫入 的位元組數HDFS。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

MissingBlocks

其中HDFS沒有複本的區塊數量。這些可能是毀損區塊。

使用案例:監控叢集運作狀態

單位:計數

CorruptBlocks

HDFS 報告為損毀的區塊數量。

使用案例:監控叢集運作狀態

單位:計數

TotalLoad

並行資料傳送總次數。

使用案例:監控叢集運作狀態

單位:計數

MemoryTotalMB

叢集中的總記憶體量。

使用案例:監控叢集進度

單位:計數

MemoryReservedMB

保留記憶體數量。

使用案例:監控叢集進度

單位:計數

MemoryAvailableMB

可供配置的記憶體數量。

使用案例:監控叢集進度

單位:計數

YARNMemoryAvailablePercentage

可用剩餘記憶體的百分比 YARN(YARNMemoryAvailablePercentage = MemoryAvailableMB / MemoryTotalMB)。此值有助於根據YARN記憶體用量擴展叢集資源。

單位:百分比

MemoryAllocatedMB

已配置給叢集的記憶體數量。

使用案例:監控叢集進度

單位:計數

PendingDeletionBlocks

標記進行刪除的區塊數目。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

UnderReplicatedBlocks

需要複寫一或多次的區塊數目。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

DfsPendingReplicationBlocks

區塊複寫狀態:正在複寫的區塊、複寫要求存留期,以及失敗的複寫要求。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

CapacityRemainingGB

剩餘的HDFS磁碟容量。

使用案例:監控叢集進度、監控叢集運作狀態

單位:計數

下列是 Hadoop 1 指標:

指標 描述
叢集狀態

IsIdle

指出叢集不再執行工作,但仍然處於作用中狀態並會產生費用。如果未執行任何任務,而且未執行任何工作,則會設為 1,否則設為 0。每隔五分鐘檢查一次此值,值 1 表示叢集只在檢查時為閒置狀態,而不是整個五分鐘都閒置。為了避免誤判,此值已為 1 且持續多個連續 5 分鐘檢查時,您應該發出警示。例如,如果此值已為 1 且持續 30 分鐘 (含) 以上,則您可以對此值發出警示。

使用案例:監控叢集效能

單位:布林值

JobsRunning

叢集中目前正在執行的工作數目。

使用案例:監控叢集運作狀態

單位:計數

JobsFailed

叢集中失敗的工作數目。

使用案例:監控叢集運作狀態

單位:計數

對應/降低

MapTasksRunning

每個工作的執行中對應任務數目。如果您已安裝排程器,並且有多個工作正在執行,則會產生多個圖形。

使用案例:監控叢集進度

單位:計數

MapTasksRemaining

每個工作的剩餘對應任務數目。如果您已安裝排程器,並且有多個工作正在執行,則會產生多個圖形。剩餘對應任務就是未處於下列任何狀態的任務:執行中、已刪除或已完成。

使用案例:監控叢集進度

單位:計數

MapSlotsOpen

未使用的對應任務容量。這計算為指定叢集的對應任務數目上限,小於目前在該叢集中執行的對應任務總數。

使用案例:分析叢集效能

單位:計數

RemainingMapTasksPerSlot

剩餘對應任務總數與叢集中可用對應槽總數的比率。

使用案例:分析叢集效能

單位:比率

ReduceTasksRunning

每個工作的執行中降低任務數目。如果您已安裝排程器,並且有多個工作正在執行,則會產生多個圖形。

使用案例:監控叢集進度

單位:計數

ReduceTasksRemaining

每個工作的剩餘降低任務數目。如果您已安裝排程器,並且有多個工作正在執行,則會產生多個圖形。

使用案例:監控叢集進度

單位:計數

ReduceSlotsOpen

未使用的降低任務容量。這計算為指定叢集的降低任務容量上限,小於目前在該叢集中執行的降低任務總數。

使用案例:分析叢集效能

單位:計數

節點狀態

CoreNodesRunning

運作中核心節點數目。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

CoreNodesPending

等待進行指派的核心節點數目。所有要求的核心節點可能都無法立即可用;此指標報告擱置中要求。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

LiveDataNodes

將接收來自 Hadoop 之工作的資料節點百分比。

使用案例:監控叢集運作狀態

單位:百分比

TaskNodesRunning

運作中任務節點數目。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

TaskNodesPending

等待指派的任務節點數目。所有要求的任務節點可能都無法立即可用;此指標報告擱置中要求。只有在對應的執行個體群組存在時,才會報告此指標的資料點。

使用案例:監控叢集運作狀態

單位:計數

LiveTaskTrackers

運作中任務追蹤器百分比。

使用案例:監控叢集運作狀態

單位:百分比

IO

S3BytesWritten

寫入至 Amazon S3 的位元組數目。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

S3BytesRead

讀取自 Amazon S3 的位元組數目。此指標只會彙總MapReduce 任務,不適用於 Amazon 上的其他工作負載EMR。

使用案例:分析叢集效能、監控叢集進度

單位:計數

HDFSUtilization

目前使用的HDFS儲存體百分比。

使用案例:分析叢集效能

單位:百分比

HDFSBytesRead

從 讀取的位元組數HDFS。

使用案例:分析叢集效能、監控叢集進度

單位:計數

HDFSBytesWritten

寫入 的位元組數HDFS。

使用案例:分析叢集效能、監控叢集進度

單位:計數

MissingBlocks

其中HDFS沒有複本的區塊數量。這些可能是毀損區塊。

使用案例:監控叢集運作狀態

單位:計數

TotalLoad

叢集 DataNodes 中所有 報告的目前讀取器和寫入器總數。

使用案例:診斷高 I/O 可能造成工作執行效能不佳的程度。執行常駐 DataNode 程式的工作者節點也必須執行映射並減少任務。隨著時間的推移,持續高 TotalLoad 值可能表示高 I/O 可能是造成效能不佳的因素。此值偶而爆增為正常現象,不一定表示發生問題。

單位:計數

叢集容量指標

下列指標可指出叢集的目前或目標容量。只有在啟用受管擴展或自動終止後,才能使用這些指標。

對於由執行個體機群組成的叢集,叢集容量指標會搭配 Units 測量。對於由執行個體群組組成的叢集,叢集容量指標則搭配 NodesVCPU,根據受管擴展原則中使用的單位類型為單位進行測量。如需詳細資訊,請參閱 Amazon EMR管理指南 中的使用 EMR受管擴展

指標 描述
  • TotalUnitsRequested

  • TotalNodesRequested

  • TotalVCPURequested

由受管擴展決定的叢集units/nodes/vCPUs中 的目標總數。

單位:計數

  • TotalUnitsRunning

  • TotalNodesRunning

  • TotalVCPURunning

目前執行中叢集中units/nodes/vCPUs可用的總數。叢集如被要求調整大小,則在此叢集加入新執行個體或移除執行個體之後,此指標將隨之更新。

單位:計數

  • CoreUnitsRequested

  • CoreNodesRequested

  • CoreVCPURequested

由受管擴展決定的叢集COREunits/nodes/vCPUs中 的目標數目。

單位:計數

  • CoreUnitsRunning

  • CoreNodesRunning

  • CoreVCPURunning

目前叢集中COREunits/nodes/vCPUs執行的 數目。

單位:計數

  • TaskUnitsRequested

  • TaskNodesRequested

  • TaskVCPURequested

由受管擴展決定的叢集TASKunits/nodes/vCPUs中 的目標數目。

單位:計數

  • TaskUnitsRunning

  • TaskNodesRunning

  • TaskVCPURunning

目前叢集中TASKunits/nodes/vCPUs執行的 數目。

單位:計數

當您使用自動終止政策啟用自動終止時,Amazon 會以一分鐘的精細程度EMR發出下列指標。有些指標僅適用於 Amazon 6.4.0 版及更新EMR版本。若要進一步了解自動終止,請參閱 使用 Amazon EMR叢集清除的自動終止政策

指標 描述
TotalNotebookKernels 叢集上的執行中和閒置筆記本核心的總數。

此指標僅適用於 Amazon 6.4.0 版及更新EMR版本。

AutoTerminationIsClusterIdle 指出叢集是否在使用中。

0 值表示叢集正由下列其中一個元件使用:

  • YARN 應用程式

  • HDFS

  • 筆記本

  • 叢集上的 UI,例如 Spark 歷史記錄伺服器

1 值表示叢集處於閒置狀態。Amazon 會EMR檢查叢集是否持續閒置 (AutoTerminationIsClusterIdle = 1)。當叢集的閒置時間等於自動終止政策中的IdleTimeout值時,Amazon 會EMR終止叢集。

Amazon EMR指標的維度

您可以使用下表中的任何維度來篩選 Amazon EMR資料。

維度 描述
JobFlowId 與叢集 ID 相同,它是叢集的唯一識別符,格式為 j-XXXXXXXXXXXXX。按一下 Amazon EMR主控台中的叢集,尋找此值。