쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon EMR의 이전 AMI 버전을 포함하는 클러스터 생성

포커스 모드
Amazon EMR의 이전 AMI 버전을 포함하는 클러스터 생성 - Amazon EMR

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

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

Amazon EMR 2.x 및 3.x 릴리스는 AMI 버전으로 참조됩니다. Amazon EMR 릴리스 4.0.0 이상에서 릴리스 레이블(예: emr-5.11.0)을 사용하여 릴리스 버전별로 릴리스를 참조합니다. 이 변경 사항은 AWS CLI 또는 프로그래밍 방식으로 클러스터를 생성할 때 가장 명확하게 나타납니다.

AWS CLI 를 사용하여 AMI 릴리스 버전을 사용하여 클러스터를 생성하는 경우 --ami-version 옵션을 사용합니다. 예: --ami-version 3.11.0. Amazon EMR 4.0.0 이상에 도입된 여러 옵션, 기능 및 애플리케이션은 --ami-version을 지정할 때 사용할 수 없습니다. 자세한 내용은 AWS CLI 명령 참조에서 create-cluster를 참조하세요.

다음 예제 AWS CLI 명령은 AMI 버전을 사용하여 클러스터를 시작합니다.

참고

가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

aws emr create-cluster --name "Test cluster" --ami-version 3.11.0 \ --applications Name=Hue Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,\ InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=2,\ InstanceType=m3.xlarge --bootstrap-actions Path=s3://elasticmapreduce/bootstrap-actions/configure-hadoop,\ Name="Configuring infinite JVM reuse",Args=["-m","mapred.job.reuse.jvm.num.tasks=-1"]

프로그래밍 방식에서는 모든 Amazon EMR 릴리스 버전이 EMR API에서 RunJobFlowRequest 작업을 사용하여 클러스터를 생성합니다. 다음은 AMI 릴리스 버전 3.11.0을 사용하여 클러스터를 생성하는 예제 Java 코드입니다.

RunJobFlowRequest request = new RunJobFlowRequest() .withName("AmiVersion Cluster") .withAmiVersion("3.11.0") .withInstances(new JobFlowInstancesConfig() .withEc2KeyName("myKeyPair") .withInstanceCount(1) .withKeepJobFlowAliveWhenNoSteps(true) .withMasterInstanceType("m3.xlarge") .withSlaveInstanceType("m3.xlarge");

다음 RunJobFlowRequest 호출은 릴리스 레이블을 대신 사용합니다.

RunJobFlowRequest request = new RunJobFlowRequest() .withName("ReleaseLabel Cluster") .withReleaseLabel("emr-7.8.0") .withInstances(new JobFlowInstancesConfig() .withEc2KeyName("myKeyPair") .withInstanceCount(1) .withKeepJobFlowAliveWhenNoSteps(true) .withMasterInstanceType("m3.xlarge") .withSlaveInstanceType("m3.xlarge");

클러스터 크기 구성

클러스터가 실행되면 Hadoop에서 데이터를 처리하는 데 필요한 매퍼 및 reducer 작업 수를 결정합니다. 클러스터의 규모가 클수록 리소스 사용과 처리 시간 단축을 위해 더 많은 작업을 수행해야 합니다. 일반적으로 EMR 클러스터는 전체 클러스터에서 동일한 크기를 유지합니다. 클러스터를 작성할 때 작업 수를 설정합니다. 실행 중인 클러스터의 크기를 조정할 때 클러스터 실행 중에 처리 방식을 변경할 수 있습니다. 따라서 고정된 수의 작업을 사용하는 대신 클러스터 수명 기간 동안 작업 수를 변경할 수 있습니다. 이상적인 작업 수를 설정하는 데 도움이 되는 두 가지 구성 옵션이 있습니다.

  • mapred.map.tasksperslot

  • mapred.reduce.tasksperslot

mapred-conf.xml 파일에서 두 옵션을 모두 설정할 수 있습니다. 작업을 클러스터에 제출하면 작업 클라이언트는 클러스터 전체에서 사용 가능한 현재 맵 및 reduce 슬롯의 총 수를 확인합니다. 작업 클라이언트는 다음 수식을 사용하여 작업 수를 설정합니다.

  • mapred.map.tasks = mapred.map.tasksperslot * 클러스터의 맵 슬롯

  • mapred.reduce.tasks =mapred.reduce.tasksperslot * 클러스터의 reduce 슬롯

작업 클라이언트는 작업 수가 구성되지 않은 경우 tasksperslot 파라미터만 읽습니다. 부트스트랩 작업을 통해 모든 클러스터에 대해 또는 구성을 변경하는 단계를 추가하여 작업마다 개별적으로 언제든지 작업 수를 재정의할 수 있습니다.

Amazon EMR은 태스크 노드 장애를 견디며 태스크 노드를 사용할 수 없게 되더라도 클러스터 실행을 계속합니다. Amazon EMR은 실패한 태스크 노드를 대체하기 위해 추가 태스크 노드를 자동으로 프로비저닝합니다.

클러스터 단계마다 작업 노드의 수가 다를 수 있습니다. 실행 중인 클러스터에 단계를 추가하여 작업 노드의 수를 수정할 수도 있습니다. 모든 단계는 기본적으로 순차적으로 실행되므로 어떤 단계에 대해서도 실행 중인 작업 노드 수를 지정할 수 있습니다.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.