여러 기본 노드가 있는 Amazon EMR 클러스터 시작 - Amazon EMR

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

여러 기본 노드가 있는 Amazon EMR 클러스터 시작

이 주제에서는 여러 프라이머리 노드가 있는 Amazon EMR 클러스터를 시작하기 위한 구성 세부 정보와 예제를 제공합니다.

참고

Amazon은 여러 기본 노드가 있는 모든 클러스터에 대해 종료 방지를 EMR 자동으로 활성화하고 클러스터를 생성할 때 제공하는 모든 자동 종료 설정을 재정의합니다. 여러 프라이머리 노드가 있는 클러스터를 종료하려면 먼저 클러스터 속성을 수정하여 종료 보호를 비활성화해야 합니다. 지침은 여러 기본 노드로 Amazon EMR 클러스터 종료 단원을 참조하십시오.

사전 조건

  • 퍼블릭 서브넷과 프라이빗 VPC 서브넷 모두에 여러 프라이머리 노드가 있는 Amazon EMR 클러스터를 시작할 수 있습니다. EC2-Classic은 지원되지 않습니다. 퍼블릭 서브넷에 여러 기본 노드가 있는 Amazon EMR 클러스터를 시작하려면 콘솔에서 자동 할당IPv4을 선택하거나 다음 명령을 실행하여이 서브넷의 인스턴스가 퍼블릭 IP 주소를 수신하도록 활성화해야 합니다. 를 서브넷 ID22XXXX01로 바꿉니다.

    aws ec2 modify-subnet-attribute --subnet-id subnet-22XXXX01 --map-public-ip-on-launch
  • 여러 기본 노드가 있는 Amazon EMR 클러스터에서 Hive, Hue 또는 Oozie를 실행하려면 외부 메타스토어를 생성해야 합니다. 자세한 내용은 Hive용 외부 메타스토어 구성, Amazon의 원격 데이터베이스에서 Hue 사용 RDS또는 Apache Oozie를 참조하세요.

  • 클러스터에서 Kerberos 인증을 사용하려면 외부를 구성해야 합니다KDC. 자세한 내용은 Amazon에서 Kerberos 구성을 EMR참조하세요.

여러 기본 노드가 있는 Amazon EMR 클러스터 시작

인스턴스 그룹 또는 인스턴스 플릿을 사용할 경우, 복수의 프라이머리 노드가 있는 클러스터를 시작할 수 있습니다. 복수의 프라이머리 노드가 포함된 인스턴스 그룹을 사용하는 경우에는 프라이머리 노드 인스턴스 그룹에 대해 인스턴스 수 값 3을 지정해야 합니다. 복수의 프라이머리 노드와 함께 인스턴스 플릿을 사용하는 경우에는 3TargetOnDemandCapacity, 프라이머리 인스턴스 플릿에 대한 0TargetSpotCapacity 및 프라이머리 플릿에 대해 구성하는 각 인스턴스 유형에 대한 1WeightedCapacity를 지정해야 합니다.

다음 예제에서는 인스턴스 그룹과 인스턴스 플릿 AMI 모두에서 기본 AMI 또는 사용자 지정을 사용하여 클러스터를 시작하는 방법을 보여줍니다.

참고

를 사용하여 여러 기본 노드가 있는 Amazon EMR 클러스터를 시작할 때 서브넷 ID를 지정해야 합니다 AWS CLI. 다음 예제에서 22XXXX01 및를 서브넷 ID22XXXX02 로 바꿉니다.

Default AMI, instance groups
예 - 기본값을 사용하여 여러 기본 노드가 있는 Amazon EMR 인스턴스 그룹 클러스터 시작 AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark
Default AMI, instance fleets
예 - 기본값을 사용하여 여러 프라이머리 노드가 있는 Amazon EMR 인스턴스 플릿 클러스터 시작 AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-fleets '[ { "InstanceFleetType": "MASTER", "TargetOnDemandCapacity": 3, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Master - 1" }, { "InstanceFleetType": "CORE", "TargetOnDemandCapacity": 5, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 2, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 4, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Core - 2" } ]' \ --ec2-attributes '{"InstanceProfile":"EMR_EC2_DefaultRole","SubnetIds":["subnet-22XXXX01", "subnet-22XXXX02"]}' \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark
Custom AMI, instance groups
예 - 사용자 지정을 사용하여 여러 기본 노드가 있는 Amazon EMR 인스턴스 그룹 클러스터 시작 AMI
aws emr create-cluster \ --name "custom-ami-ha-cluster" \ --release-label emr-6.15.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark \ --custom-ami-id ami-MyAmiID
Custom AMI, instance fleets
예제 - 사용자 지정을 사용하여 여러 프라이머리 노드가 있는 Amazon EMR 인스턴스 플릿 클러스터 시작 AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-fleets '[ { "InstanceFleetType": "MASTER", "TargetOnDemandCapacity": 3, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Master - 1" }, { "InstanceFleetType": "CORE", "TargetOnDemandCapacity": 5, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 2, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 4, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Core - 2" } ]' \ --ec2-attributes '{"InstanceProfile":"EMR_EC2_DefaultRole","SubnetIds":["subnet-22XXXX01", "subnet-22XXXX02"]}' \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark \ --custom-ami-id ami-MyAmiID

여러 기본 노드로 Amazon EMR 클러스터 종료

여러 기본 노드가 있는 Amazon EMR 클러스터를 종료하려면 다음 예제와 같이 클러스터를 종료하기 전에 종료 방지를 비활성화해야 합니다. j-3KVTXXXXXX7UG를 클러스터 ID로 바꿉니다.

aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected aws emr terminate-clusters --cluster-id j-3KVTXXXXXX7UG