

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.

# Schritt 4: Erstellen Sie ein Thema im Amazon MSK-Cluster
<a name="create-topic"></a>

In diesem Schritt von [Erste Schritte mit Amazon MSK](getting-started.md) können Sie ein Thema mit einem von zwei Ansätzen erstellen: Verwenden systemeigener AWS Tools mit der CreateTopic API oder Verwenden von Apache AdminClient Kafka-Tools auf einem Client-Computer.

**Warnung**  
Wenn Sie AWS Tools mit der CreateTopic API verwenden, stellen Sie sicher, dass Ihr Cluster die Anforderungen erfüllt. Einzelheiten finden Sie unter [Anforderungen für die Verwendung des Themas APIs](https://docs.aws.amazon.com/msk/latest/developerguide/msk-topic-operations-information.html#topic-operations-requirements).

**Warnung**  
Bei der Verwendung dieses AdminClient Ansatzes sind die in diesem Tutorial verwendeten Versionsnummern von Apache Kafka nur Beispiele. Es wird empfohlen, dieselbe Version des Clients wie die MSK-Cluster-Version zu verwenden. In einer älteren Client-Version fehlen möglicherweise bestimmte Funktionen und kritische Bugfixes.

**Topics**
+ [Ein Thema mithilfe von AWS Tools erstellen](#create-topic-aws-tools)
+ [Ermitteln Sie Ihre MSK-Cluster-Version](#find-msk-cluster-version)
+ [Ein Thema auf dem Client-Computer erstellen](#create-topic-client-machine)

## Ein Thema mithilfe von AWS Tools erstellen
<a name="create-topic-aws-tools"></a>

Sie können Themen in Ihrem MSK-Cluster mithilfe von AWS Tools wie der AWS CLI oder der AWS Management Console erstellen. AWS SDKs Dieser Ansatz bietet eine optimierte Methode zur Verwaltung von Themen, ohne dass ein direkter Zugriff auf die Kafka-Client-Tools erforderlich ist.

Ausführliche Informationen zum Erstellen von Themen mithilfe der AWS Tools finden Sie im [CreateTopic API-Entwicklerhandbuch](https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-topic.html).

## Ermitteln Sie Ihre MSK-Cluster-Version
<a name="find-msk-cluster-version"></a>

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

1. Wählen Sie in der Navigationsleiste die Region aus, in der Sie den MSK-Cluster erstellt haben.

1. Wählen Sie den MSK-Cluster aus.

1. Notieren Sie sich die Version von Apache Kafka, die auf dem Cluster verwendet wird.

1. Ersetzen Sie die Amazon-MSK-Versionsnummern in diesem Tutorial durch die in Schritt 3 erhaltene Version.

## Ein Thema auf dem Client-Computer erstellen
<a name="create-topic-client-machine"></a>

1. **Connect zu Ihrem Client-Computer her.**

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

   1. Wählen Sie im Navigationsbereich **Instances** aus. Aktivieren Sie dann das Kontrollkästchen neben dem Namen des Client-Computers, auf dem Sie ihn erstellt haben[Schritt 3: Einen Client-Computer erstellen](create-client-machine.md).

   1. Klicken Sie auf **Actions (Aktionen)** und anschließend auf **Connect (Verbinden)**. Folgen Sie den Anweisungen in der Konsole, um eine Verbindung zum Client-Computer herzustellen.

1. **Installieren Sie Java und richten Sie die Umgebungsvariable Kafka-Version ein.**

   1. Installieren Sie Java auf dem Client-Computer, indem Sie den folgenden Befehl ausführen.

      ```
      sudo yum -y install java-11
      ```

   1. Speichern Sie die [Kafka-Version](#find-msk-cluster-version) Ihres MSK-Clusters in der Umgebungsvariablen`KAFKA_VERSION`, wie im folgenden Befehl gezeigt. Sie benötigen diese Informationen während des gesamten Setups.

      ```
      export KAFKA_VERSION={KAFKA VERSION}
      ```

      Wenn Sie beispielsweise Version 3.6.0 verwenden, verwenden Sie den folgenden Befehl.

      ```
      export KAFKA_VERSION=3.6.0
      ```

1. **Laden Sie Apache Kafka herunter und entpacken Sie es.**

   1. Führen Sie den folgenden Befehl aus, um Apache Kafka herunterzuladen. 

      ```
      wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      ```
**Anmerkung**  
Die folgende Liste enthält einige alternative Kafka-Download-Informationen, die Sie verwenden können, falls Probleme auftreten.  
Wenn Sie Verbindungsprobleme haben oder eine Mirror-Site verwenden möchten, versuchen Sie es mit dem Apache-Mirror-Selektor, wie im folgenden Befehl gezeigt.  

        ```
        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
        ```
Laden Sie eine entsprechende Version direkt von der [Apache Kafka-Website](https://kafka.apache.org/downloads) herunter.

   1. Führen Sie den folgenden Befehl in dem Verzeichnis aus, in das Sie im vorherigen Schritt die TAR-Datei heruntergeladen haben.

      ```
      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
      ```

   1. Speichern Sie den vollständigen Pfad zum neu erstellten Verzeichnis in der `KAFKA_ROOT` Umgebungsvariablen.

      ```
      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
      ```

1. **Richten Sie die Authentifizierung für Ihren MSK-Cluster ein.**

   1. [Finden Sie die neueste Version](https://github.com/aws/aws-msk-iam-auth/releases/latest) der Amazon MSK IAM-Clientbibliothek. Diese Bibliothek ermöglicht Ihrem Client-Computer den Zugriff auf den MSK-Cluster mithilfe der IAM-Authentifizierung.

   1. Navigieren Sie mit den folgenden Befehlen zu dem `$KAFKA_ROOT/libs` Verzeichnis und laden Sie das zugehörige Amazon MSK IAM-JAR herunter, das Sie im vorherigen Schritt gefunden haben. Stellen Sie sicher, dass Sie es *\$1LATEST VERSION\$1* durch die tatsächliche Versionsnummer ersetzen, die Sie herunterladen.

      ```
      cd $KAFKA_ROOT/libs
      ```

      ```
      wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
**Anmerkung**  
Bevor Sie irgendwelche Kafka-Befehle ausführen, die mit Ihrem MSK-Cluster interagieren, müssen Sie möglicherweise die Amazon MSK IAM JAR-Datei zu Ihrem Java-Klassenpfad hinzufügen. Stellen Sie die `CLASSPATH` Umgebungsvariable ein, wie im folgenden Beispiel gezeigt.  

      ```
      export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar
      ```
Dadurch wird die `CLASSPATH` für Ihre gesamte Sitzung festgelegt, sodass die JAR für alle nachfolgenden Kafka-Befehle verfügbar ist.

   1. Gehen Sie in das `$KAFKA_ROOT/config` Verzeichnis, um die Client-Konfigurationsdatei zu erstellen.

      ```
      cd $KAFKA_ROOT/config
      ```

   1. Kopieren Sie die folgenden Eigenschaften-Einstellungen und fügen Sie sie in eine neue Datei ein. Speichern Sie die Datei als **client.properties**.

      ```
      security.protocol=SASL_SSL
      sasl.mechanism=AWS_MSK_IAM
      sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
      sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
      ```

1. **(Optional) Passen Sie die Java-Heap-Größe für Kafka-Tools an.**

   Wenn Sie auf Speicherprobleme stoßen oder mit einer großen Anzahl von Themen oder Partitionen arbeiten, können Sie die Java-Heap-Größe anpassen. Stellen Sie dazu die `KAFKA_HEAP_OPTS` Umgebungsvariable ein, bevor Sie Kafka-Befehle ausführen.

   Im folgenden Beispiel werden sowohl die maximale als auch die anfängliche Heap-Größe auf 512 Megabyte festgelegt. Passen Sie diese Werte an Ihre spezifischen Anforderungen und verfügbaren Systemressourcen an.

   ```
   export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
   ```

1. **Rufen Sie Ihre Cluster-Verbindungsinformationen ab.**

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

   1. Warten Sie, bis der Status Ihres Clusters **Aktiv** ist. Dies kann einige Minuten dauern. Wenn der Status **Aktiv** lautet, wählen Sie den Cluster-Namen aus. Dadurch gelangen Sie zu einer Seite mit der Cluster-Zusammenfassung.

   1. Wählen Sie **Client-Informationen anzeigen**.

   1. Kopieren Sie die Verbindungszeichenfolge für den privaten Endpunkt.

      Sie erhalten drei Endpunkte für jeden der Broker. Speichern Sie eine dieser Verbindungszeichenfolgen in der Umgebungsvariablen`BOOTSTRAP_SERVER`, wie im folgenden Befehl gezeigt. *<bootstrap-server-string>*Ersetzen Sie durch den tatsächlichen Wert der Verbindungszeichenfolge.

      ```
      export BOOTSTRAP_SERVER=<bootstrap-server-string>
      ```

1. **Führen Sie den folgenden Befehl aus, um das Thema zu erstellen.**

   ```
   $KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic
   ```

   Wenn Sie eine `NoSuchFileException` für die `client.properties` Datei erhalten, stellen Sie sicher, dass diese Datei im aktuellen Arbeitsverzeichnis innerhalb des Kafka-Verzeichnisses bin existiert.
**Anmerkung**  
Wenn Sie es vorziehen, die `CLASSPATH` Umgebungsvariable nicht für Ihre gesamte Sitzung festzulegen, können Sie alternativ jedem Kafka-Befehl die `CLASSPATH` Variable voranstellen. Bei diesem Ansatz wird der Klassenpfad nur auf diesen speziellen Befehl angewendet.  

   ```
   CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar \
   $KAFKA_ROOT/bin/kafka-topics.sh --create \
   --bootstrap-server $BOOTSTRAP_SERVER \
   --command-config $KAFKA_ROOT/config/client.properties \
   --replication-factor 3 \
   --partitions 1 \
   --topic MSKTutorialTopic
   ```

1. **(Optional) Vergewissern Sie sich, dass das Thema erfolgreich erstellt wurde.**

   1. Wenn der Befehl erfolgreich ist, sollte die folgende Meldung angezeigt werden: `Created topic MSKTutorialTopic.`

   1. Listen Sie alle Themen auf, um zu bestätigen, dass Ihr Thema existiert.

      ```
      $KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties
      ```

   Wenn der Befehl nicht erfolgreich ist oder ein Fehler auftritt, finden Sie Informationen [Problembehandlung bei Ihrem Amazon MSK-Cluster](troubleshooting.md) zur Problembehandlung unter.

1. **(Optional) Löschen Sie die Umgebungsvariablen, die Sie in diesem Tutorial verwendet haben.**

   Wenn Sie Ihre Umgebungsvariablen für die nächsten Schritte in diesem Tutorial behalten möchten, überspringen Sie diesen Schritt. Andernfalls können Sie diese Variablen aufheben, wie im folgenden Beispiel gezeigt.

   ```
   unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS
   ```

**Nächster Schritt**

[Schritt 5: Produzieren und Verbrauchen von Daten](produce-consume.md)