애플리케이션 구성
애플리케이션에 대한 기본 구성을 재정의하기 위해 구성 객체를 제공할 수 있습니다. 간편 구문을 사용하여 구성을 제공하거나 JSON 파일에서 구성 객체를 참조할 수 있습니다. 구성 객체는 분류, 속성 및 선택적 중첩 구성으로 이루어져 있습니다. 속성은 변경할 애플리케이션 설정에 해당합니다. 단일 JSON 객체에서 여러 애플리케이션에 대해 다양한 분류를 지정할 수 있습니다.
주의
Amazon EMR 설명 및 나열 API 작업은 사용자 지정 및 구성 가능한 설정을 생성하며, 이 설정은 일반 텍스트에서 Amazon EMR 작업 흐름의 일부로 사용됩니다. 이러한 설정에서 암호와 같은 민감한 정보를 제공하려면 AWS Secrets Manager에서 민감한 구성 데이터 저장을 참조하세요.
사용 가능한 구성 분류는 Amazon EMR 릴리스 버전에 따라 달라집니다. 특정 릴리스 버전에서 지원되는 구성 분류 목록은 Amazon 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-env
및 yarn-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": [ ] } ] } ]
다음 설정은 구성 파일에 속하지 않지만 Amazon EMR에서 사용자를 대신하여 여러 설정을 구성하기 위해 사용됩니다.
애플리케이션 | 릴리스 레이블 분류 | 유효한 속성 | 사용해야 하는 경우 |
---|---|---|---|
Spark | spark |
maximizeResourceAllocation |
각 노드의 리소스를 최대한 활용할 수 있도록 실행기를 구성합니다. |