Anwendungen bei der Clustererstellung 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.

Anwendungen bei der Clustererstellung konfigurieren

Wenn Sie einen Cluster erstellen, können Sie die Standardkonfigurationen für Anwendungen mithilfe der EMR Amazon-Konsole, der AWS Command Line Interface (AWS CLI) oder der überschreiben AWS SDK.

Um die Standardkonfiguration für eine Anwendung zu überschreiben, geben Sie benutzerdefinierte Werte in einer Konfigurationsklassifizierung an. Eine Konfigurationsklassifizierung entspricht einer XML Konfigurationsdatei für eine Anwendung, wie hive-site.xml z.

Die Konfigurationsklassifizierungen variieren je nach EMR Amazon-Release-Version. Eine Liste der Konfigurationsklassifizierungen, die in einer bestimmten Release-Version verfügbar sind, finden Sie auf der Release-Detailseite. Zum Beispiel EMRAmazon-Version 6.4.0.

Geben Sie beim Erstellen eines Clusters eine Konfiguration in der Konsole an

Um eine Konfiguration bereitzustellen, navigieren Sie zur Seite Cluster erstellen und erweitern Sie Softwareeinstellungen. Sie können die Konfiguration dann direkt eingeben, indem Sie entweder JSON oder eine Kurzsyntax verwenden, die im Shadow-Text in der Konsole veranschaulicht wird. Andernfalls können Sie Amazon S3 URI für eine Datei mit einem JSON Configurations Objekt bereitstellen.

Um eine Konfiguration für eine Instance-Gruppe bereitzustellen, wählen Sie einen Cluster in Ihrer Clusterliste aus und wählen Sie dann den Tab Konfigurationen. Wählen Sie in der Tabelle mit den Instanzgruppenkonfigurationen die zu bearbeitende Instanzgruppe aus und klicken Sie dann auf Neu konfigurieren.

Geben Sie AWS CLI beim Erstellen eines Clusters eine Konfiguration an, indem Sie

Sie können eine Konfiguration für bereitstellen, create-cluster indem Sie einen Pfad zu einer lokal oder in Amazon S3 gespeicherten JSON Datei angeben. Im folgenden Beispiel wird davon ausgegangen, dass Sie Standardrollen für Amazon verwenden EMR und dass die Rollen erstellt wurden. Wenn Sie die Rollen erstellen müssen, führen Sie zuerst aws emr create-default-roles aus.

Wenn sich die Konfiguration im lokalen Verzeichnis befindet, können Sie den folgenden Beispielbefehl verwenden.

aws emr create-cluster --use-default-roles --release-label emr-7.2.0 --applications Name=Hive \ --instance-type m5.xlarge --instance-count 3 --configurations file://./configurations.json

Wenn sich Ihre Konfiguration in einem Amazon-S3-Pfad befindet, müssen Sie die folgende Problemumgehung einrichten, bevor Sie den Amazon-S3-Pfad an den create-cluster-Befehl übergeben.

#!/bin/sh # Assume the ConfigurationS3Path is not public, and its present in the same AWS account as the EMR cluster ConfigurationS3Path="s3://my-bucket/config.json" # Get a presigned HTTP URL for the s3Path ConfigurationURL=`aws s3 presign $ConfigurationS3Path --expires-in 300` # Fetch the presigned URL, and minify the JSON so that it spans only a single line Configurations=`curl $ConfigurationURL | jq -c .` aws emr create-cluster --use-default-roles --release-label emr-5.34.0 --instance-type m5.xlarge --instance-count 2 --applications Name=Hadoop Name=Spark --configurations $Configurations

Geben Sie eine Konfiguration mit Java anSDK, wenn Sie einen Cluster erstellen

Der folgende Programmausschnitt zeigt, wie eine Konfiguration mit AWS SDK for Java bereitgestellt wird.

Application hive = new Application().withName("Hive"); Map<String,String> hiveProperties = new HashMap<String,String>(); hiveProperties.put("hive.join.emit.interval","1000"); hiveProperties.put("hive.merge.mapfiles","true"); Configuration myHiveConfig = new Configuration() .withClassification("hive-site") .withProperties(hiveProperties); RunJobFlowRequest request = new RunJobFlowRequest() .withName("Create cluster with ReleaseLabel") .withReleaseLabel("emr-5.20.0") .withApplications(hive) .withConfigurations(myHiveConfig) .withServiceRole("EMR_DefaultRole") .withJobFlowRole("EMR_EC2_DefaultRole") .withInstances(new JobFlowInstancesConfig() .withEc2KeyName("myEc2Key") .withInstanceCount(3) .withKeepJobFlowAliveWhenNoSteps(true) .withMasterInstanceType("m4.large") .withSlaveInstanceType("m4.large") );