애플리케이션 구성 - 아마존 EMR

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

애플리케이션 구성

애플리케이션에 대한 기본 구성을 재정의하기 위해 구성 객체를 제공할 수 있습니다. 간단한 구문을 사용하여 구성을 제공하거나 파일의 구성 객체를 참조할 수 있습니다. JSON 구성 객체는 분류, 속성 및 선택적 중첩 구성으로 이루어져 있습니다. 속성은 변경할 애플리케이션 설정에 해당합니다. 단일 개체에 여러 응용 프로그램에 대해 여러 분류를 지정할 수 있습니다. JSON

주의

Amazon Describe 및 List EMR API 작업에서는 Amazon EMR 작업 흐름의 일부로 사용되는 사용자 지정 및 구성 가능한 설정을 일반 텍스트로 내보냅니다. 이러한 설정에서 암호와 같은 민감한 정보를 제공하려면 AWS Secrets Manager에서 민감한 구성 데이터 저장을 참조하세요.

사용 가능한 구성 분류는 Amazon EMR 릴리스 버전에 따라 다릅니다. 특정 릴리스 버전에서 지원되는 구성 분류 목록은 아마존 EMR 릴리스에 대한 정보 아래 해당 릴리스 버전 페이지를 참조하세요.

다음은 구성 목록의 예제 JSON 파일입니다.

[ { "Classification": "core-site", "Properties": { "hadoop.security.groups.cache.secs": "250" } }, { "Classification": "mapred-site", "Properties": { "mapred.tasktracker.map.tasks.maximum": "2", "mapreduce.map.sort.spill.percent": "0.90", "mapreduce.tasktracker.reduce.tasks.maximum": "5" } } ]

구성 분류는 애플리케이션별 구성 파일에 매핑되는 경우가 많습니다. 예를 들어, hive-site 분류는 Hive용 hive-site.xml 구성 파일의 설정에 매핑됩니다. 이 작업에 대한 예외는, 더 이상 사용되지 않는 부트스트랩 작업 configure-daemons입니다. 이 작업은 환경 파라미터(예: --namenode-heap-size)를 설정하는 데 사용됩니다. 이와 같은 옵션은 고유의 중첩 내보내기 분류를 갖춘 hadoop-envyarn-env 분류에 포함됩니다. 분류가 env로 끝나는 경우 내보내기 하위 분류를 사용합니다.

또 다른 한 가지 예외는 s3get입니다. 이 항목은 클라이언트 측 암호화에 사용할 클러스터의 각 노드에 고객 EncryptionMaterialsProvider 객체를 배치하는 데 사용됩니다. 이 용도로 emrfs-site 분류에 옵션이 추가되었습니다.

다음은 hadoop-env 분류의 예제입니다.

[ { "Classification": "hadoop-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "HADOOP_DATANODE_HEAPSIZE": "2048", "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19" }, "Configurations": [ ] } ] } ]

다음은 yarn-env 분류의 예제입니다.

[ { "Classification": "yarn-env", "Properties": { }, "Configurations": [ { "Classification": "export", "Properties": { "YARN_RESOURCEMANAGER_OPTS": "-Xdebug -Xrunjdwp:transport=dt_socket" }, "Configurations": [ ] } ] } ]

다음 설정은 구성 파일에 속하지 않지만 EMR Amazon에서 잠재적으로 사용자를 대신하여 여러 설정을 구성하는 데 사용됩니다.

Amazon에서 큐레이팅한 설정 EMR
애플리케이션 릴리스 레이블 분류 유효한 속성 사용해야 하는 경우
Spark spark maximizeResourceAllocation 각 노드의 리소스를 최대한 활용할 수 있도록 실행기를 구성합니다.