기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EMR on EKS에서 수직 자동 조정 구성
StartJobRun API를 통해 Amazon EMR Spark 작업을 제출할 때 수직 자동 조정을 구성할 수 있습니다. 수직 자동 조정을 사용하여 Spark 작업 제출의 예제와 같이 Spark 드라이버 포드에서 자동 조정 관련 구성 파라미터를 설정합니다.
Amazon EMR on EKS 수직 자동 조정 운영자는 자동 조정 기능이 있는 드라이버 포드의 신호를 수신한 다음, 드라이버 포드의 설정을 사용하여 Kubernetes Vertical Pod Autoscaler(VPA)와의 통합을 설정합니다. 이를 통해 Spark 실행기 포드의 리소스 추적 및 자동 조정이 용이해집니다.
다음 섹션에서는 Amazon EKS 클러스터의 수직 자동 조정을 구성할 때 사용할 수 있는 파라미터를 설명합니다.
참고
기능 토글 파라미터를 레이블로 구성하고, 나머지 파라미터는 Spark 드라이버 포드의 주석으로 구성합니다. 자동 조정 파라미터는 emr-containers.amazonaws.com/
도메인에 속하며 dynamic.sizing
접두사가 붙습니다.
필수 파라미터
작업을 제출할 때 Spark 작업 드라이버에 다음 두 파라미터를 포함해야 합니다.
키 | 설명 | 허용되는 값 | 기본값 | 유형 | Spark 파라미터1 |
---|---|---|---|---|---|
|
기능 전환 |
|
설정되지 않음 |
레이블 |
|
|
작업 서명 |
string |
설정되지 않음 |
주석 |
|
1 StartJobRun
API에서 이 파라미터를 SparkSubmitParameter
또는 ConfigurationOverride
로 사용합니다.
-
dynamic.sizing
-dynamic.sizing
레이블을 사용하여 수직 자동 조정을 켜거나 끌 수 있습니다. 수직 자동 조정을 켜려면 Spark 드라이버 포드에서dynamic.sizing
을true
로 설정합니다. 이 레이블을 생략하거나true
이외의 값으로 설정하면 수직 자동 조정이 꺼집니다. -
dynamic.sizing.signature
- 드라이버 포드에서dynamic.sizing.signature
주석을 사용하여 작업 서명을 설정합니다. 수직 자동 조정은 다양한 Amazon EMR Spark 작업 실행의 리소스 사용 데이터를 집계하여 리소스 권장 사항을 도출합니다. 작업을 하나로 묶을 수 있는 고유 식별자를 제공합니다.참고
작업이 매일 또는 매주 같은 고정된 간격으로 반복되는 경우 새 태스크 인스턴스마다 작업 서명이 동일하게 유지되어야 합니다. 이렇게 하면 수직 자동 조정을 통해 다양한 작업 실행에 대한 권장 사항을 계산하고 집계할 수 있습니다.
1 StartJobRun
API에서 이 파라미터를 SparkSubmitParameter
또는 ConfigurationOverride
로 사용합니다.
선택적 파라미터
수직 자동 조정은 다음과 같은 선택적 파라미터도 지원합니다. 드라이버 포드에서 주석으로 설정합니다.
키 | 설명 | 허용되는 값 | 기본값 | 유형 | Spark 파라미터1 |
---|---|---|---|---|---|
수직 자동 조정 |
|
|
주석 |
|
|
메모리 조정 활성화 |
|
|
주석 |
|
|
CPU 조정 켜기 또는 끄기 |
|
|
주석 |
|
|
메모리 조정의 최소 한도 |
문자열, K8s 리소스 수량1G |
설정되지 않음 |
주석 |
spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.scale.memory.min |
|
메모리 조정의 최대 한도 |
문자열, K8s 리소스 수량4G |
설정되지 않음 |
주석 |
spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.scale.memory.max |
|
CPU 조정의 최소 한도 |
문자열, K8s 리소스 수량1 |
설정되지 않음 |
주석 |
spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.scale.cpu.min |
|
CPU 조정의 최대 한도 |
문자열, K8s 리소스 수량2 |
설정되지 않음 |
주석 |
spark.kubernetes.driver.annotation.emr-containers.amazonaws.com/dynamic.sizing.scale.cpu.max |
수직 자동 조정 모드
mode
파라미터는 VPA가 지원하는 다양한 자동 조정 모드에 매핑됩니다. 드라이버 포드에서 dynamic.sizing.mode
주석을 사용하여 모드를 설정합니다. 다음 값이 이 파라미터에 대해 지원됩니다.
-
Off - 권장 사항을 모니터링할 수 있지만 자동 조정은 수행되지 않는 테스트 실행 모드입니다. 수직 자동 조정의 기본 모드입니다. 이 모드에서는 연결된 Vertical Pod Autoscaler 리소스가 권장 사항을 계산하며, kubectl, Prometheus, Grafana와 같은 도구를 통해 권장 사항을 모니터링할 수 있습니다.
-
Initial - 이 모드에서는 반복 작업과 같이 작업 실행 기록을 기반으로 권장 사항이 제공되는 경우 작업이 시작될 때 VPA가 리소스를 자동으로 조정합니다.
-
Auto - 이 모드에서 VPA는 Spark 실행기 포드를 제거하고 Spark 드라이버 포드가 다시 시작될 때 권장 리소스 설정으로 규모를 자동 조정합니다. 경우에 따라 VPA가 실행 중인 Spark 실행기 포드를 제거하므로 중단된 실행기를 재시도할 때 추가 지연이 발생할 수 있습니다.
리소스 조정
수직 자동 조정을 설정할 때 CPU 및 메모리 리소스를 확장할지 여부를 선택할 수 있습니다. dynamic.sizing.scale.cpu
및 dynamic.sizing.scale.memory
주석을 true
또는 false
로 설정합니다. 기본적으로 CPU 조정은 false
로, 메모리 조정은 true
로 설정됩니다.
리소스 최소 및 최대(바운드)
선택적으로 CPU 및 메모리 리소스에 경계를 설정할 수 있습니다. 자동 조정을 활성화할 때 dynamic.sizing.[memory/cpu].[min/max]
주석을 사용하여 이러한 리소스의 최솟값 및 최댓값을 선택합니다. 기본적으로 리소스에는 제한이 없습니다. Kubernetes 리소스 수량을 나타내는 문자열 값으로 주석을 설정합니다. 예를 들어 4GB를 나타내도록 dynamic.sizing.memory.max
를 4G
로 설정합니다.