Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwaltete Skalierung für Amazon EMR konfigurieren

Fokusmodus
Verwaltete Skalierung für Amazon EMR konfigurieren - 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.

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.

In den folgenden Abschnitten wird erklärt, wie Sie einen EMR-Cluster starten, der verwaltete Skalierung mit dem AWS Management Console AWS SDK for Java, dem oder dem AWS Command Line Interface verwendet.

Verwenden Sie den AWS Management Console , um die verwaltete Skalierung zu konfigurieren

Sie können die Amazon-EMR-Konsole verwenden, um die verwaltete Skalierung zu konfigurieren, wenn Sie einen Cluster erstellen, oder um eine verwaltete Skalierungsrichtlinie für einen laufenden Cluster zu ändern.

Console
Um die verwaltete Skalierung zu konfigurieren, wenn Sie einen Cluster mit der Konsole erstellen
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster aus.

  3. Wählen Sie eine Amazon-EMR-Version emr-5.30.0 oder höher, außer Version emr-6.0.0.

  4. Wählen Sie unter Option Clusterskalierung und -Bereitstellungsoption EMR-verwaltete Skalierung verwenden aus. Geben Sie das Minimum – und Maximum von Instances, die maximale Anzahl an Core-Knoten-Instances und die maximale Anzahl von On-Demand-Instances an.

  5. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  6. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

Um verwaltete Skalierung auf einem vorhandenen Cluster mit der Konsole zu konfigurieren
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Suchen Sie auf der Registerkarte Instances der Cluster-Detailseite den Abschnitt Instance-Gruppen-Einstellungen. Geben Sie im Abschnitt Clusterskalierung bearbeiten neue Werte für die Minimum- und Maximum-Anzahl von Instances und das On-Demand-Limit an.

Um die verwaltete Skalierung zu konfigurieren, wenn Sie einen Cluster mit der Konsole erstellen
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster aus.

  3. Wählen Sie eine Amazon-EMR-Version emr-5.30.0 oder höher, außer Version emr-6.0.0.

  4. Wählen Sie unter Option Clusterskalierung und -Bereitstellungsoption EMR-verwaltete Skalierung verwenden aus. Geben Sie das Minimum – und Maximum von Instances, die maximale Anzahl an Core-Knoten-Instances und die maximale Anzahl von On-Demand-Instances an.

  5. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  6. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

Um verwaltete Skalierung auf einem vorhandenen Cluster mit der Konsole zu konfigurieren
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Suchen Sie auf der Registerkarte Instances der Cluster-Detailseite den Abschnitt Instance-Gruppen-Einstellungen. Geben Sie im Abschnitt Clusterskalierung bearbeiten neue Werte für die Minimum- und Maximum-Anzahl von Instances und das On-Demand-Limit an.

Verwenden Sie den AWS CLI , um die verwaltete Skalierung zu konfigurieren

Sie können AWS CLI Befehle für Amazon EMR verwenden, um die verwaltete Skalierung zu konfigurieren, wenn Sie einen Cluster erstellen. Sie können eine Kurzschreibweise mit der passenden JSON-Konfiguration in den entsprechenden Befehlen oder eine Referenzdatei mit der JSON-Konfiguration verwenden. Sie können auch eine Richtlinie für verwaltete Skalierung auf einen vorhandenen Cluster anwenden und eine zuvor angewendete Richtlinie für verwaltete Skalierung entfernen. Darüber hinaus können Sie Details einer Skalierungsrichtlinien-Konfiguration aus einem aktuell ausgeführten Cluster abrufen.

Aktivieren der verwalteten Skalierung während des Clusterstarts

Sie können die verwaltete Skalierung während des Clusterstarts aktivieren, wie im folgenden Beispiel veranschaulicht wird.

aws emr create-cluster \ --service-role EMR_DefaultRole \ --release-label emr-7.7.0 \ --name EMR_Managed_Scaling_Enabled_Cluster \ --applications Name=Spark Name=Hbase \ --ec2-attributes KeyName=keyName,InstanceProfile=EMR_EC2_DefaultRole \ --instance-groups InstanceType=m4.xlarge,InstanceGroupType=MASTER,InstanceCount=1 InstanceType=m4.xlarge,InstanceGroupType=CORE,InstanceCount=2 \ --region us-east-1 \ --managed-scaling-policy ComputeLimits='{MinimumCapacityUnits=2,MaximumCapacityUnits=4,UnitType=Instances}'

Sie können bei Verwendung der managed-scaling-policy Option -- auch eine verwaltete Richtlinienkonfiguration angeben. create-cluster

Anwenden einer Richtlinie für verwaltete Skalierung auf einen vorhandenen Cluster

Sie können eine Richtlinie für verwaltete Skalierung auf einen vorhandenen Cluster anwenden, wie im folgenden Beispiel veranschaulicht wird.

aws emr put-managed-scaling-policy --cluster-id j-123456 --managed-scaling-policy ComputeLimits='{MinimumCapacityUnits=1, MaximumCapacityUnits=10, MaximumOnDemandCapacityUnits=10, UnitType=Instances}'

Sie können eine Richtlinie für verwaltete Skalierung auch auf einen vorhandenen Cluster anwenden, indem Sie den Befehl aws emr put-managed-scaling-policy verwenden. Im folgenden Beispiel wird ein Verweis auf eine JSON-Datei verwendet, managedscaleconfig.json, die die Konfiguration der Richtlinie für verwaltete Skalierung angibt.

aws emr put-managed-scaling-policy --cluster-id j-123456 --managed-scaling-policy file://./managedscaleconfig.json

Das folgende Beispiel zeigt den Inhalt der Datei managedscaleconfig.json, in der die Richtlinie für verwaltete Skalierung definiert wird.

{ "ComputeLimits": { "UnitType": "Instances", "MinimumCapacityUnits": 1, "MaximumCapacityUnits": 10, "MaximumOnDemandCapacityUnits": 10 } }

Abrufen einer Richtlinienkonfiguration für verwaltete Skalierung

Der Befehl GetManagedScalingPolicy ruft die Richtlinienkonfiguration ab. Mit dem folgenden Befehl wird beispielsweise die Konfiguration für den Cluster mit der Cluster-ID j-123456 abgerufen.

aws emr get-managed-scaling-policy --cluster-id j-123456

Der Befehl generiert die folgende Beispielausgabe:

{ "ManagedScalingPolicy": { "ComputeLimits": { "MinimumCapacityUnits": 1, "MaximumOnDemandCapacityUnits": 10, "MaximumCapacityUnits": 10, "UnitType": "Instances" } } }

Weitere Informationen zur Verwendung von Amazon EMR-Befehlen finden Sie AWS CLI unterhttps://docs.aws.amazon.com/cli/latest/reference/emr.

Entfernen der Richtlinie für verwaltete Skalierung

Mit dem Befehl RemoveManagedScalingPolicy wird die Richtlinienkonfiguration entfernt. Mit dem folgenden Befehl wird beispielsweise die Konfiguration für den Cluster mit der Cluster-ID j-123456 entfernt.

aws emr remove-managed-scaling-policy --cluster-id j-123456

Wird verwendet AWS SDK for Java , um verwaltete Skalierung zu konfigurieren

Der folgende Programmausschnitt zeigt, wie die verwaltete Skalierung mit dem AWS SDK for Java konfiguriert wird:

package com.amazonaws.emr.sample; import java.util.ArrayList; import java.util.List; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduce; import com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduceClientBuilder; import com.amazonaws.services.elasticmapreduce.model.Application; import com.amazonaws.services.elasticmapreduce.model.ComputeLimits; import com.amazonaws.services.elasticmapreduce.model.ComputeLimitsUnitType; import com.amazonaws.services.elasticmapreduce.model.InstanceGroupConfig; import com.amazonaws.services.elasticmapreduce.model.JobFlowInstancesConfig; import com.amazonaws.services.elasticmapreduce.model.ManagedScalingPolicy; import com.amazonaws.services.elasticmapreduce.model.RunJobFlowRequest; import com.amazonaws.services.elasticmapreduce.model.RunJobFlowResult; public class CreateClusterWithManagedScalingWithIG { public static void main(String[] args) { AWSCredentials credentialsFromProfile = getCreadentials("AWS-Profile-Name-Here"); /** * Create an Amazon EMR client with the credentials and region specified in order to create the cluster */ AmazonElasticMapReduce emr = AmazonElasticMapReduceClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(credentialsFromProfile)) .withRegion(Regions.US_EAST_1) .build(); /** * Create Instance Groups - Primary, Core, Task */ InstanceGroupConfig instanceGroupConfigMaster = new InstanceGroupConfig() .withInstanceCount(1) .withInstanceRole("MASTER") .withInstanceType("m4.large") .withMarket("ON_DEMAND"); InstanceGroupConfig instanceGroupConfigCore = new InstanceGroupConfig() .withInstanceCount(4) .withInstanceRole("CORE") .withInstanceType("m4.large") .withMarket("ON_DEMAND"); InstanceGroupConfig instanceGroupConfigTask = new InstanceGroupConfig() .withInstanceCount(5) .withInstanceRole("TASK") .withInstanceType("m4.large") .withMarket("ON_DEMAND"); List<InstanceGroupConfig> igConfigs = new ArrayList<>(); igConfigs.add(instanceGroupConfigMaster); igConfigs.add(instanceGroupConfigCore); igConfigs.add(instanceGroupConfigTask); /** * specify applications to be installed and configured when Amazon EMR creates the cluster */ Application hive = new Application().withName("Hive"); Application spark = new Application().withName("Spark"); Application ganglia = new Application().withName("Ganglia"); Application zeppelin = new Application().withName("Zeppelin"); /** * Managed Scaling Configuration - * Using UnitType=Instances for clusters composed of instance groups * * Other options are: * UnitType = VCPU ( for clusters composed of instance groups) * UnitType = InstanceFleetUnits ( for clusters composed of instance fleets) **/ ComputeLimits computeLimits = new ComputeLimits() .withMinimumCapacityUnits(1) .withMaximumCapacityUnits(20) .withUnitType(ComputeLimitsUnitType.Instances); ManagedScalingPolicy managedScalingPolicy = new ManagedScalingPolicy(); managedScalingPolicy.setComputeLimits(computeLimits); // create the cluster with a managed scaling policy RunJobFlowRequest request = new RunJobFlowRequest() .withName("EMR_Managed_Scaling_TestCluster") .withReleaseLabel("emr-7.7.0") // Specifies the version label for the Amazon EMR release; we recommend the latest release .withApplications(hive,spark,ganglia,zeppelin) .withLogUri("s3://path/to/my/emr/logs") // A URI in S3 for log files is required when debugging is enabled. .withServiceRole("EMR_DefaultRole") // If you use a custom IAM service role, replace the default role with the custom role. .withJobFlowRole("EMR_EC2_DefaultRole") // If you use a custom Amazon EMR role for EC2 instance profile, replace the default role with the custom Amazon EMR role. .withInstances(new JobFlowInstancesConfig().withInstanceGroups(igConfigs) .withEc2SubnetId("subnet-123456789012345") .withEc2KeyName("my-ec2-key-name") .withKeepJobFlowAliveWhenNoSteps(true)) .withManagedScalingPolicy(managedScalingPolicy); RunJobFlowResult result = emr.runJobFlow(request); System.out.println("The cluster ID is " + result.toString()); } public static AWSCredentials getCredentials(String profileName) { // specifies any named profile in .aws/credentials as the credentials provider try { return new ProfileCredentialsProvider("AWS-Profile-Name-Here") .getCredentials(); } catch (Exception e) { throw new AmazonClientException( "Cannot load credentials from .aws/credentials file. " + "Make sure that the credentials file exists and that the profile name is defined within it.", e); } } public CreateClusterWithManagedScalingWithIG() { } }

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.