

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.

# Einen Cluster mit Apache Spark erstellen
<a name="emr-spark-launch"></a>

Mit der folgenden Prozedur wird ein Cluster mit [Spark](https://aws.amazon.com/big-data/what-is-spark/) erstellt, der mithilfe von **Quick Options** (Optionen für das schnelle Erstellen eines Clusters) in der Amazon-EMR-Konsole installiert wurde.

Sie können alternativ **Erweiterte Optionen** verwenden, um Ihre Cluster-Einrichtung weiter anzupassen oder Schritte zur programmgesteuerten Installation von Anwendungen und zur anschließenden Ausführung benutzerdefinierter Anwendungen zu senden. Bei diesen beiden erweiterten Optionen zur Clustererstellung können Sie AWS Glue als Spark-SQL-Metastore verwenden. Weitere Informationen finden Sie unter [Verwenden Sie den AWS Glue Data Catalog-Katalog mit Spark auf Amazon EMR](emr-spark-glue.md).

**So starten Sie einen Cluster mit installiertem Spark**

1. Öffnen Sie die Amazon EMR-Konsole unter [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr/).

1. Wählen Sie **Cluster erstellen** aus, um **Schnelle Optionen** zu verwenden.

1. Geben Sie einen **Clusternamen** ein. Ihr Clustername darf die Zeichen <, >, \$1, \$1 oder `(Backtick) nicht enthalten.

1.  Wählen Sie unter **Softwarekonfiguration** die Option **Version** aus.

1.  Wählen Sie für **Anwendungen** das **Spark**-Anwendungspaket.

1.  Wählen Sie nach Bedarf weitere Optionen und anschließend **Create cluster (Cluster erstellen)** aus.
**Anmerkung**  
Weitere Informationen zum Konfigurieren von Spark beim Erstellen des Clusters finden Sie unter [Konfigurieren von Spark](emr-spark-configure.md).

**Um einen Cluster mit installiertem Spark zu starten, verwenden Sie AWS CLI**
+ Erstellen Sie den Cluster mit dem folgenden Befehl.

  ```
  aws emr create-cluster --name "Spark cluster" --release-label emr-7.12.0 --applications Name=Spark \
  --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 --use-default-roles
  ```

**Anmerkung**  
Linux-Zeilenfortsetzungszeichen (\$1) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

**So starten Sie einen Cluster mit installiertem Spark über SDK für Java**

Geben Sie Spark als Anwendung mit `SupportedProductConfig` an, die in `RunJobFlowRequest` verwendet wird.
+ Das folgende Beispiel zeigt, wie Sie einen Cluster mit Spark mittels Java erstellen.

  ```
  import com.amazonaws.AmazonClientException;
  import com.amazonaws.auth.AWSCredentials;
  import com.amazonaws.auth.AWSStaticCredentialsProvider;
  import com.amazonaws.auth.profile.ProfileCredentialsProvider;
  import com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduce;
  import com.amazonaws.services.elasticmapreduce.AmazonElasticMapReduceClientBuilder;
  import com.amazonaws.services.elasticmapreduce.model.*;
  import com.amazonaws.services.elasticmapreduce.util.StepFactory;
  
  public class Main {
  
          public static void main(String[] args) {
                  AWSCredentials credentials_profile = null;
                  try {
                          credentials_profile = new ProfileCredentialsProvider("default").getCredentials();
                  } catch (Exception e) {
                          throw new AmazonClientException(
                                          "Cannot load credentials from .aws/credentials file. " +
                                                          "Make sure that the credentials file exists and the profile name is specified within it.",
                                          e);
                  }
  
                  AmazonElasticMapReduce emr = AmazonElasticMapReduceClientBuilder.standard()
                                  .withCredentials(new AWSStaticCredentialsProvider(credentials_profile))
                                  .withRegion(Regions.US_WEST_1)
                                  .build();
  
                  // create a step to enable debugging in the AWS Management Console
                  StepFactory stepFactory = new StepFactory();
                  StepConfig enabledebugging = new StepConfig()
                                  .withName("Enable debugging")
                                  .withActionOnFailure("TERMINATE_JOB_FLOW")
                                  .withHadoopJarStep(stepFactory.newEnableDebuggingStep());
  
                  Application spark = new Application().withName("Spark");
  
                  RunJobFlowRequest request = new RunJobFlowRequest()
                                  .withName("Spark Cluster")
                                  .withReleaseLabel("emr-5.20.0")
                                  .withSteps(enabledebugging)
                                  .withApplications(spark)
                                  .withLogUri("s3://path/to/my/logs/")
                                  .withServiceRole("EMR_DefaultRole")
                                  .withJobFlowRole("EMR_EC2_DefaultRole")
                                  .withInstances(new JobFlowInstancesConfig()
                                                  .withEc2SubnetId("subnet-12ab3c45")
                                                  .withEc2KeyName("myEc2Key")
                                                  .withInstanceCount(3)
                                                  .withKeepJobFlowAliveWhenNoSteps(true)
                                                  .withMasterInstanceType("m4.large")
                                                  .withSlaveInstanceType("m4.large"));
                  RunJobFlowResult result = emr.runJobFlow(request);
                  System.out.println("The cluster ID is " + result.toString());
          }
  }
  ```