Herstellen einer Verbindung zu Ihrem Cluster mit Anmeldeinformationen - Amazon Managed Streaming für Apache Kafka

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.

Herstellen einer Verbindung zu Ihrem Cluster mit Anmeldeinformationen

Nachdem Sie ein Secret erstellt und es Ihrem Cluster zugeordnet haben, können Sie Ihren Client mit dem Cluster verbinden. Das folgende Verfahren zeigt, wie Sie einen Client mit einem Cluster verbinden, der SASL/SCRAM Authentifizierung verwendet. Außerdem wird anhand eines Beispielthemas gezeigt, wie das Produzieren und das Konsumieren anhand eines Beispielthemas erfolgt.

Einen Client mithilfe der SASL/SCRAM Authentifizierung mit dem Cluster verbinden

  1. Führen Sie den folgenden Befehl auf einem Computer aus, der AWS CLI installiert wurde. clusterARNErsetzen Sie durch den ARN Ihres Clusters.

    aws kafka get-bootstrap-brokers --cluster-arn clusterARN

    Speichern Sie aus dem JSON-Ergebnis dieses Befehls den Wert, der der genannten Zeichenfolge zugeordnet istBootstrapBrokerStringSaslScram. Sie werden diesen Wert in späteren Schritten verwenden.

  2. Erstellen Sie auf Ihrem Client-Computer eine JAAS-Konfigurationsdatei, die die in Ihrem Secret gespeicherten Benutzeranmeldeinformationen enthält. Erstellen Sie beispielsweise für den Benutzer alice eine Datei namens users_jaas.conf mit dem folgenden Inhalt.

    KafkaClient { org.apache.kafka.common.security.scram.ScramLoginModule required username="alice" password="alice-secret"; };
  3. Verwenden Sie den folgenden Befehl, um Ihre JAAS-Konfigurationsdatei als KAFKA_OPTS-Umgebungsparameter zu exportieren.

    export KAFKA_OPTS=-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf
  4. Erstellen Sie in einem /tmp-Verzeichnis eine Datei namens kafka.client.truststore.jks.

  5. (Optional) Verwenden Sie den folgenden Befehl, um die JDK-Schlüsselspeicherdatei aus Ihrem cacerts JVM-Ordner in die kafka.client.truststore.jks Datei zu kopieren, die Sie im vorherigen Schritt erstellt haben. JDKFolderErsetzen Sie ihn durch den Namen des JDK-Ordners auf Ihrer Instanz. Beispielsweise könnte Ihr JDK-Ordner java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64 benannt sein.

    cp /usr/lib/jvm/JDKFolder/lib/security/cacerts /tmp/kafka.client.truststore.jks
  6. Erstellen Sie im bin-Verzeichnis Ihrer Apache-Kafka-Installation eine Client-Eigenschaftendatei namens client_sasl.properties mit dem folgenden Inhalt. Diese Datei definiert den SASL-Mechanismus und das SASL-Protokoll.

    security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512
  7. Führen Sie den folgenden Befehl aus, um ein Beispielthema zu erstellen. BootstrapBrokerStringSaslScramErsetzen Sie es durch die Bootstrap-Broker-Zeichenfolge, die Sie in Schritt 1 dieses Themas abgerufen haben.

    <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-server BootstrapBrokerStringSaslScram --command-config <path-to-client-properties>/client_sasl.properties --replication-factor 3 --partitions 1 --topic ExampleTopicName
  8. Führen Sie den folgenden Befehl auf Ihrem Client-Computer aus, um in dem von Ihnen erstellten Beispielthema zu produzieren. BootstrapBrokerStringSaslScramErsetzen Sie sie durch die Bootstrap-Broker-Zeichenfolge, die Sie in Schritt 1 dieses Themas abgerufen haben.

    <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerStringSaslScram --topic ExampleTopicName --producer.config client_sasl.properties
  9. Führen Sie den folgenden Befehl auf Ihrem Client-Computer aus, um aus dem von Ihnen erstellten Thema zu verbrauchen. BootstrapBrokerStringSaslScramErsetzen Sie sie durch die Bootstrap-Broker-Zeichenfolge, die Sie in Schritt 1 dieses Themas abgerufen haben.

    <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringSaslScram --topic ExampleTopicName --from-beginning --consumer.config client_sasl.properties

Fehlerbehebung bei Verbindungsproblemen

Beim Ausführen von Kafka-Client-Befehlen können Java-Heap-Speicherfehler auftreten, insbesondere bei der Arbeit mit großen Themen oder Datensätzen. Diese Fehler treten auf, weil Kafka-Tools als Java-Anwendungen mit Standardspeichereinstellungen ausgeführt werden, die für Ihre Arbeitslast möglicherweise nicht ausreichen.

Um Out of Memory Java Heap Fehler zu beheben, können Sie die Größe des Java-Heaps erhöhen, indem Sie die KAFKA_OPTS Umgebungsvariable so ändern, dass sie Speichereinstellungen enthält.

Im folgenden Beispiel wird die maximale Heap-Größe auf 1 GB () festgelegt. -Xmx1G Sie können diesen Wert an Ihren verfügbaren Systemspeicher und Ihre Anforderungen anpassen.

export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas-file>/users_jaas.conf -Xmx1G"

Bei umfangreichen Themen sollten Sie die Verwendung von zeit- oder offsetbasierten Parametern in Betracht ziehen, anstatt die Speicherbelegung --from-beginning zu begrenzen:

<path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server BootstrapBrokerStringSaslScram --topic ExampleTopicName --max-messages 1000 --consumer.config client_sasl.properties