Starten Sie einen EMR Amazon-Cluster mit mehreren Primärknoten - 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.

Starten Sie einen EMR Amazon-Cluster mit mehreren Primärknoten

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

Anmerkung

Amazon aktiviert EMR 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 Einen EMR Amazon-Cluster mit mehreren Primärknoten beenden.

Voraussetzungen

  • Sie können einen EMR Amazon-Cluster mit mehreren Primärknoten in öffentlichen und privaten VPC Subnetzen starten. EC2-Classic wird nicht unterstützt. Um einen EMR Amazon-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 22XXXX01 mit Ihrer Subnetz-ID.

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

  • Um die Kerberos-Authentifizierung in Ihrem Cluster zu verwenden, müssen Sie eine externe Authentifizierung konfigurieren. KDC Weitere Informationen finden Sie unter Konfiguration von Kerberos auf Amazon Amazon. EMR

Starten Sie einen EMR Amazon-Cluster mit mehreren Primärknoten

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 der Cluster mit dem Standard AMI - oder einem benutzerdefinierten Cluster sowohl AMI mit Instance-Gruppen als auch mit Instance-Flotten gestartet wird:

Anmerkung

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

Default AMI, instance groups
Beispiel — Starten eines EMR Amazon-Instance-Gruppen-Clusters mit mehreren Primärknoten unter Verwendung eines Standardknotens 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 EMR Amazon-Instance-Flotten-Clusters mit mehreren Primärknoten unter Verwendung eines Standardknotens 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 EMR Amazon-Instance-Gruppen-Clusters mit mehreren Primärknoten mithilfe 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 EMR Amazon-Instance-Flottenclusters mit mehreren Primärknoten mithilfe 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

Einen EMR Amazon-Cluster mit mehreren Primärknoten beenden

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

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