Amazon-EMR-Clustern mit mehreren Primärknoten starten - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon-EMR-Clustern mit mehreren Primärknoten starten

Dieses Thema enthält Konfigurationsdetails und Beispiele für den Start eines Amazon-EMR-Clusters mit mehreren Primärknoten.

Anmerkung

Amazon EMR aktiviert automatisch den Kündigungsschutz für alle Cluster mit mehreren Primärknoten und überschreibt alle Einstellungen für die automatische Terminierung, die Sie bei der Erstellung des Clusters angeben. Um einen Cluster mit mehreren Primärknoten herunterzufahren, müssen Sie zunächst die Clusterattribute ändern, um den Kündigungsschutz zu deaktivieren. Detaillierte Anweisungen finden Sie unter Amazon-EMR-Clustern mit mehreren Primärknoten beenden.

Voraussetzungen

  • Sie können einen Amazon-EMR-Cluster mit mehreren Primärknoten in öffentlichen und privaten VPC-Subnetzen starten. EC2-Classic wird nicht unterstützt. Um einen Amazon EMR-Cluster mit mehreren Primärknoten in einem öffentlichen Subnetz zu starten, müssen Sie den Instances in diesem Subnetz den Empfang einer öffentlichen IP-Adresse ermöglichen, indem Sie IPv4 in der Konsole Automatisch zuweisen auswählen oder den folgenden Befehl ausführen. Ersetzen Sie es durch Ihre 22XXXX01 Subnetz-ID.

    aws ec2 modify-subnet-attribute --subnet-id subnet-22XXXX01 --map-public-ip-on-launch
  • Um Hive, Hue oder Oozie auf einem Amazon-EMR-Cluster mit mehreren Primärknoten auszuführen, müssen Sie einen externen Metastore erstellen. Weitere Informationen finden Sie unter Konfigurieren eines externen Metastores für Hive, Verwenden von Hue mit einer Remote-Datenbank in Amazon RDS oder Apache Oozie.

  • Um in Ihrem Cluster Kerberos-Authentifizierung zu verwenden, müssen Sie einen externen KDC konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von Kerberos auf Amazon EMR.

Amazon-EMR-Clustern mit mehreren Primärknoten starten

Sie können einen Cluster mit mehreren Primärknoten starten, wenn Sie Instance-Gruppen oder Instance-Flotten verwenden. Wenn Sie Instance-Gruppen mit mehreren Primärknoten verwenden, müssen Sie für die Primärknoten-Instance-Gruppe den Wert 3 für die Zahl der Instances angeben. Wenn Sie Instance-Flotten mit mehreren Primärknoten verwenden, müssen Sie die TargetOnDemandCapacity von 3, die TargetSpotCapacity von 0 für die primäre Instance-Flotte und die WeightedCapacity von 1 für jeden Instance-Typ angeben, den Sie für die primäre Flotte konfigurieren.

Die folgenden Beispiele zeigen, wie Sie den Cluster mit einem Standard- oder benutzerdefinierten AMI mit sowohl Instance-Gruppen als auch Instance-Flotten starten:

Anmerkung

Sie müssen die Subnetz-ID angeben, wenn Sie einen Amazon-EMR-Cluster mit mehreren Primärknoten mithilfe der AWS CLI starten. Ersetzen Sie in 22XXXX02 den folgenden Beispielen 22XXXX01 und durch Ihre Subnetz-ID.

Default AMI, instance groups
Beispiel – Starten eines Instance-Gruppen-Clusters von Amazon EMR mit mehreren Primärknoten unter Verwendung eines Standard-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
Beispiel – Starten eines Instance-Flotten-Clusters von Amazon EMR mit mehreren Primärknoten unter Verwendung eines Standard-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
Beispiel – Starten eines Instance-Gruppen-Clusters von Amazon EMR mit mehreren Primärknoten unter Verwendung eines benutzerdefinierten 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
Beispiel – Starten eines Instance-Flotten-Clusters von Amazon EMR mit mehreren Primärknoten unter Verwendung eines benutzerdefinierten 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-Clustern mit mehreren Primärknoten beenden

Um einen Amazon-EMR-Cluster mit mehreren Primärknoten zu beenden, müssen Sie den Beendigungsschutz deaktivieren, bevor Sie den Cluster beenden, wie das folgende Beispiel zeigt. Ersetzen Sie j-3KVTXXXXXX7UG durch die ID Ihres Clusters.

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