EMR Serverless 애플리케이션 및 작업 모니터링 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EMR Serverless 애플리케이션 및 작업 모니터링

EMR Serverless에 대한 Amazon CloudWatch 지표를 사용하면 1분 CloudWatch 지표를 수신하고 CloudWatch 대시보드에 액세스하여 거의 실시간에 가까운 EMR Serverless 애플리케이션의 작업 및 성능을 볼 수 있습니다.

EMR Serverless는 매분 CloudWatch로 지표를 전송합니다. EMR Serverless는 애플리케이션 수준과 작업, 작업자 유형 및 용량 할당 유형 수준에서 이러한 지표를 내보냅니다.

시작하려면 EMR Serverless GitHub 리포지토리에서 제공하는 EMR Serverless CloudWatch 대시보드 템플릿을 사용하고 배포합니다.

참고

EMR Serverless 대화형 워크로드에서는 애플리케이션 수준 모니터링만 활성화되며, 새로운 작업자 유형 차원(Spark_Kernel)을 포함합니다. 대화형 워크로드를 모니터링 및 디버깅하기 위해 EMR Studio Workspace 내에서 로그 및 Apache Spark UI를 볼 수 있습니다.

아래 표에서는 AWS/EMRServerless 네임스페이스 내에서 사용할 수 있는 EMR Serverless 차원을 설명합니다.

EMR Serverless 지표의 차원
차원 설명
ApplicationId

EMR Serverless 애플리케이션의 모든 지표를 필터링합니다.

JobId

EMR Serverless 작업 실행의 모든 지표를 필터링합니다.

WorkerType

주어진 작업자 유형의 모든 지표를 필터링합니다. 예를 들어 Spark 작업에 대해 SPARK_DRIVERSPARK_EXECUTORS를 필터링할 수 있습니다.

CapacityAllocationType

주어진 용량 할당 유형의 모든 지표를 필터링합니다. 예를 들어 사전 초기화된 용량에 대해서는 PreInitCapacity, 이와 모든 항목에 대해서는 OnDemandCapacity를 필터링할 수 있습니다.

애플리케이션 수준 모니터링

Amazon CloudWatch 지표를 사용하여 EMR Serverless 애플리케이션 수준에서 용량 사용량을 모니터링할 수 있습니다. 또한 CloudWatch 대시보드에서 애플리케이션 용량 사용량을 모니터링하도록 단일 보기를 설정할 수도 있습니다.

EMR Serverless 애플리케이션 지표
지표 설명 프라이머리 차원 보조 차원
CPUAllocated

할당된 총 vCPU 수.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
IdleWorkerCount

유휴 상태인 총 작업자 수.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
MaxCPUAllowed

애플리케이션에 대해 허용되는 최대 CPU.

ApplicationId N/A
MaxMemoryAllowed

애플리케이션에 대해 허용되는 GB 단위의 최대 메모리.

ApplicationId N/A
MaxStorageAllowed

애플리케이션에 대해 허용되는 GB 단위의 최대 스토리지.

ApplicationId N/A
MemoryAllocated

할당된 GB 단위의 총 메모리.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
PendingCreationWorkerCount

생성 보류 중인 총 작업자 수.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
RunningWorkerCount

애플리케이션에서 사용 중인 총 작업자 수.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
StorageAllocated

할당된 GB 단위의 총 디스크 스토리지.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType
TotalWorkerCount

사용 가능한 총 작업자 수.

ApplicationId ApplicationId, WorkerType, CapacityAllocationType

작업 수준 모니터링

Amazon EMR Serverless는 1분마다 Amazon CloudWatch 로 다음과 같은 작업 수준 지표를 전송합니다. 작업 실행 상태별로 집계 작업 실행의 지표 값을 볼 수 있습니다. 각 지표의 단위는 개수입니다.

EMR Serverless 작업 수준 지표
지표 설명 프라이머리 차원
SubmittedJobs

제출됨 상태의 최대 작업 수.

ApplicationId
PendingJobs

보류 중 상태의 작업 수.

ApplicationId
ScheduledJobs

예약된 상태의 작업 수.

ApplicationId
RunningJobs

실행 중 상태의 작업 수.

ApplicationId
SuccessJobs

성공 상태의 작업 수.

ApplicationId
FailedJobs

실패 상태의 작업 수.

ApplicationId
CancellingJobs

취소 중 상태의 작업 수.

ApplicationId
CancelledJobs

취소됨 상태의 작업 수.

ApplicationId

엔진별 애플리케이션 UI를 사용하여 EMR Serverless의 실행 중인 작업 및 완료된 작업 모두에 대한 엔진별 지표를 모니터링할 수 있습니다. 실행 중인 작업에 대한 UI를 보는 경우 실시간 업데이트가 포함된 라이브 애플리케이션 UI가 표시됩니다. 완료된 작업에 대한 UI를 보는 경우 영구 앱 UI가 표시됩니다.

작업 실행

EMR Serverless의 실행 중인 작업에 대해서는 엔진별 지표를 제공하는 실시간 인터페이스를 볼 수 있습니다. Apache Spark UI 또는 Hive Tez UI를 사용하여 작업을 모니터링하고 디버깅할 수 있습니다. 이러한 UI에 액세스하려면 EMR Studio 콘솔을 사용하거나 AWS Command Line Interface를 사용하여 보안 URL 엔드포인트를 요청합니다.

작업 완료됨

완료된 EMR Serverless 작업의 경우 Spark 기록 서버 또는 영구 Hive Tez UI를 사용하여 Spark 또는 Hive 작업 실행에 대한 작업 세부 정보, 단계, 태스크 및 지표를 볼 수 있습니다. 이러한 UI에 액세스하려면 EMR Studio 콘솔을 사용하거나 AWS Command Line Interface를 사용하여 보안 URL 엔드포인트를 요청합니다.

작업 작업자 수준 모니터링

Amazon EMR Serverless는 AWS/EMRServerless 네임스페이스 및 Job Worker Metrics 지표 그룹에서 사용할 수 있는 다음과 같은 작업 작업자 수준 지표를 Amazon CloudWatch로 전송합니다. EMR Serverless는 작업 수준, 작업자 유형 및 용량 할당 유형 수준에서 작업이 실행되는 동안 개별 작업자로부터 데이터 포인트를 수집합니다. ApplicationId를 차원으로 사용하여 동일한 애플리케이션에 속하는 여러 작업을 모니터링할 수 있습니다.

EMR Serverless 작업 작업자 수준 지표
지표 설명 단위 프라이머리 차원 보조 차원
WorkerCpuAllocated

작업 실행에서 작업자에 대해 할당된 총 vCPU 코어 수.

없음 JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerCpuUsed

작업 실행에서 작업자가 활용하는 총 vCPU 코어 수.

없음 JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerMemoryAllocated

작업 실행에서 작업자에 대해 할당된 GB 단위의 총 메모리.

기가바이트(GB) JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerMemoryUsed

작업 실행에서 작업자가 활용하는 GB 단위의 총 메모리.

기가바이트(GB) JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerEphemeralStorageAllocated

작업 실행에서 작업자에 대해 할당된 임시 스토리지의 바이트 수.

기가바이트(GB) JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerEphemeralStorageUsed

작업 실행에서 작업자가 활용하는 임시 스토리지의 바이트 수.

기가바이트(GB) JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerStorageReadBytes

작업 실행에서 작업자가 스토리지에서 읽은 바이트 수.

바이트 JobId ApplicationId, WorkerTypeCapacityAllocationType
WorkerStorageWriteBytes

작업 실행에서 작업자의 스토리지에 쓴 바이트 수.

바이트 JobId ApplicationId, WorkerTypeCapacityAllocationType

아래 단계에서는 다양한 유형의 지표를 보는 방법을 설명합니다.

Console
콘솔을 사용하여 애플리케이션 UI에 액세스하는 방법
  1. 콘솔에서 시작하기의 지침에 따라 EMR Studio에서 EMR Serverless 애플리케이션으로 이동합니다.

  2. 실행 중인 작업에 대한 엔진별 애플리케이션 UI 및 로그를 보려면 다음을 수행합니다.

    1. RUNNING 상태의 작업을 선택합니다.

    2. 애플리케이션 세부 정보 페이지에서 작업을 선택하거나 작업에 대한 작업 세부 정보 페이지로 이동합니다.

    3. UI 표시 드롭다운 메뉴에서 Spark UI 또는 Hive Tez UI를 선택하여 작업 유형에 맞는 애플리케이션 UI로 이동합니다.

    4. Spark 엔진 로그를 보려면 Spark UI의 실행기 탭으로 이동하여 드라이버의 로그 링크를 선택합니다. Hive 엔진 로그를 보려면 Hive Tez UI에서 적절한 DAG에 대한 로그 링크를 선택합니다.

  3. 완료된 작업에 대한 엔진별 애플리케이션 UI 및 로그를 보려면 다음을 수행합니다.

    1. SUCCESS 상태의 작업을 선택합니다.

    2. 애플리케이션의 애플리케이션 세부 정보 페이지에서 작업을 선택하거나 작업의 작업 세부 정보 페이지로 이동합니다.

    3. UI 표시 드롭다운 메뉴에서 Spark 기록 서버 또는 영구 Hive Tez UI를 선택하여 작업 유형에 맞는 애플리케이션 UI로 이동합니다.

    4. Spark 엔진 로그를 보려면 Spark UI의 실행기 탭으로 이동하여 드라이버의 로그 링크를 선택합니다. Hive 엔진 로그를 보려면 Hive Tez UI에서 적절한 DAG에 대한 로그 링크를 선택합니다.

AWS CLI
를 사용하여 애플리케이션 UI에 액세스하려면 AWS CLI
  • 실행 중인 작업과 완료된 작업 모두에 대해 애플리케이션 UI에 액세스하는 데 사용할 수 있는 URL을 생성하려면 GetDashboardForJobRun API를 직접 호출합니다.

    aws emr-serverless get-dashboard-for-job-run / --application-id <application-id> / --job-run-id <job-id>

    생성하는 URL은 1시간 동안 유효합니다.