View a markdown version of this page

Verwaltung von Metadaten - 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.

Verwaltung von Metadaten

Amazon MSK unterstützt Apache ZooKeeper - oder Kraft-Metadatenverwaltungsmodi.

Ab Apache Kafka Version 3.7.x auf Amazon MSK können Sie Cluster erstellen, die den KraFT-Modus anstelle des Modus verwenden. ZooKeeper KRaft-based Cluster sind auf Controller innerhalb von Kafka angewiesen, um Metadaten zu verwalten.

ZooKeeper Modus

Apache ZooKeeper ist „ein zentraler Dienst zur Verwaltung von Konfigurationsinformationen, Benennung, Bereitstellung verteilter Synchronisation und Bereitstellung von Gruppendiensten. All diese Arten von Diensten werden in der einen oder anderen Form von verteilten Anwendungen verwendet“, einschließlich Apache Kafka.

Wenn Ihr Cluster den ZooKeeper Modus verwendet, können Sie die folgenden Schritte ausführen, um die ZooKeeper Apache-Verbindungszeichenfolge abzurufen. Wir empfehlen jedoch, dass Sie den verwenden, BootstrapServerString um eine Verbindung zu Ihrem Cluster herzustellen und Administratorvorgänge durchzuführen, da das --zookeeper Flag in Kafka 2.5 veraltet ist und aus Kafka 3.0 entfernt wurde.

Abrufen der Apache-Verbindungszeichenfolge mit dem ZooKeeper AWS-Managementkonsole

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

  2. Die Tabelle führt alle Cluster für die aktuelle Region unter diesem Konto auf. Wählen Sie den Namen eines Clusters aus, um dessen Beschreibung anzuzeigen.

  3. Wählen Sie auf der Seite mit der Cluster-Zusammenfassung die Option Client-Informationen anzeigen. Dies zeigt Ihnen die Bootstrap-Broker sowie die ZooKeeper Apache-Verbindungszeichenfolge.

Abrufen der ZooKeeper Apache-Verbindungszeichenfolge mithilfe der AWS CLI

  1. Wenn Sie den Amazon Resourcennamen (ARN) Ihres Clusters nicht kennen, finden Sie ihn, indem Sie alle Cluster in Ihrem Konto auflisten. Weitere Informationen finden Sie unter Amazon MSK-Cluster auflisten.

  2. Um die ZooKeeper Apache-Verbindungszeichenfolge zusammen mit anderen Informationen zu Ihrem Cluster abzurufen, führen Sie den folgenden Befehl aus und ClusterArn ersetzen Sie ihn durch den ARN Ihres Clusters.

    aws kafka describe-cluster --cluster-arn ClusterArn

    Die Ausgabe dieses describe-cluster-Befehls sieht wie das folgende JSON-Beispiel aus.

    { "ClusterInfo": { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789abcdef0", "subnet-2468013579abcdef1", "subnet-1357902468abcdef2" ], "InstanceType": "kafka.m5.large", "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 1000 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:111122223333:cluster/testcluster/12345678-abcd-4567-2345-abcdef123456-2", "ClusterName": "testcluster", "CreationTime": "2018-12-02T17:38:36.75Z", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K13V1IB3VIYZZH", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:555555555555:key/12345678-abcd-2345-ef01-abcdef123456" } }, "EnhancedMonitoring": "DEFAULT", "NumberOfBrokerNodes": 3, "State": "ACTIVE", "ZookeeperConnectString": "10.0.1.101:2018,10.0.2.101:2018,10.0.3.101:2018" } }

    Das vorherige JSON-Beispiel zeigt den ZookeeperConnectString-Schlüssel in der Ausgabe des describe-cluster-Befehls an. Kopieren Sie den Wert, der diesem Schlüssel entspricht, und speichern Sie ihn, für den Fall, dass Sie ein Thema in Ihrem Cluster erstellen müssen.

    Wichtig

    Ihr Amazon MSK-Cluster muss sich in dem ACTIVE Status befinden, in dem Sie die ZooKeeper Apache-Verbindungszeichenfolge abrufen können. Wenn ein Cluster noch den Status „CREATING“ aufweist, enthält die Ausgabe des describe-cluster-Befehls „ZookeeperConnectString“ nicht. Warten Sie in diesem Fall einige Minuten und führen Sie den describe-cluster erneut aus, nachdem der Cluster den Status „ACTIVE“ erreicht hat.

Abrufen der ZooKeeper Apache-Verbindungszeichenfolge mithilfe der API

Informationen zum Abrufen der ZooKeeper Apache-Verbindungszeichenfolge mithilfe der API finden Sie unter DescribeCluster.

KraFT-Modus

Amazon MSK hat die Unterstützung für KraFT (Apache Kafka Raft) in Kafka Version 3.7.x eingeführt. Die Apache Kafka-Community hat KraFT entwickelt, um Apache ZooKeeper für die Metadatenverwaltung in Apache Kafka-Clustern zu ersetzen. Im KraFT-Modus werden Cluster-Metadaten innerhalb einer Gruppe von Kafka-Controllern, die Teil des Kafka-Clusters sind, und nicht knotenübergreifend verbreitet. ZooKeeper KraFT-Controller sind ohne zusätzliche Kosten für Sie enthalten und erfordern keine zusätzliche Einrichtung oder Verwaltung durch Sie. KIP-500Weitere Informationen zu KraFT finden Sie unter.

Hier sind einige Punkte, die Sie zum KraFt-Modus auf MSK beachten sollten:

  • Der KraFT-Modus ist nur für neue Cluster verfügbar. Sie können den Metadatenmodus nicht wechseln, sobald der Cluster erstellt wurde.

  • Auf der MSK-Konsole können Sie einen Kraft-based Cluster erstellen, indem Sie Kafka Version 3.7.x auswählen und im Fenster zur Clustererstellung das Kontrollkästchen KraFT aktivieren.

  • Um einen Cluster im KraFT-Modus mithilfe der MSK-API CreateClusteroder der CreateClusterV2MSK-Operationen zu erstellen, sollten Sie als Version verwenden. 3.7.x.kraft Verwenden Sie 3.7.x als Version, um einen Cluster im ZooKeeper Modus zu erstellen.

  • Die Anzahl der Partitionen pro Broker ist auf KraFT- und ZooKeeper basierten Clustern identisch. Mit KraFT können Sie jedoch mehr Partitionen pro Cluster hosten, indem Sie mehr Broker in einem Cluster bereitstellen.

  • Für die Verwendung des Kraft-Modus auf Amazon MSK sind keine API-Änderungen erforderlich. Wenn Ihre Clients die --zookeeper Verbindungszeichenfolge jedoch heute noch verwenden, sollten Sie Ihre Clients so aktualisieren, dass sie die --bootstrap-server Verbindungszeichenfolge verwenden, um eine Verbindung zu Ihrem Cluster herzustellen. Das --zookeeper Flag ist in Apache Kafka Version 2.5 veraltet und wird ab Kafka Version 3.0 entfernt. Wir empfehlen Ihnen daher, aktuelle Apache Kafka-Client-Versionen und die --bootstrap-server Verbindungszeichenfolge für alle Verbindungen zu Ihrem Cluster zu verwenden.

  • ZooKeeper Der Modus ist weiterhin für alle veröffentlichten Versionen verfügbar, in denen Zookeeper auch von Apache Kafka unterstützt wird. Einzelheiten Unterstützte Apache Kafka-Versionen zum Ende der Unterstützung für Apache Kafka-Versionen und future Updates finden Sie unter.

  • Sie sollten überprüfen, ob alle von Ihnen verwendeten Tools in der Lage sind, Kafka Admin-APIs ohne ZooKeeper Verbindungen zu verwenden. Aktuelle Schritte LinkedInUse's Cruise Control für Apache Kafka mit Amazon MSK zur Verbindung Ihres Clusters mit Cruise Control finden Sie unter. Cruise Control enthält auch Anweisungen für den Betrieb von Cruise Control ohne ZooKeeper.

  • Sie müssen für administrative Aktionen nicht direkt auf die Kraft-Controller Ihres Clusters zugreifen. Wenn Sie jedoch Open Monitoring zur Erfassung von Metriken verwenden, benötigen Sie auch die DNS-Endpunkte Ihrer Controller, um einige Metriken zu Ihrem Cluster zu sammeln, die sich nicht auf Controller beziehen. Sie können diese DNS-Endpunkte über die MSK-Konsole oder mithilfe der API-Operation abrufen. ListNodes Aktuelle Schritte Überwachen Sie einen von MSK bereitgestellten Cluster mit Prometheus zur Einrichtung von Open-Monitoring für Cluster finden Sie unter. KRaft-based

  • Es gibt keine zusätzlichen CloudWatch Metriken, die Sie für Cluster im KraFt-Modus im Vergleich zu Modusclustern ZooKeeper überwachen müssen. MSK verwaltet die in Ihren Clustern verwendeten KraFT-Controller.

  • Sie können die Verwaltung von ACLs mithilfe von Clustern im KraFt-Modus mithilfe der --bootstrap-server Verbindungszeichenfolge fortsetzen. Sie sollten die --zookeeper Verbindungszeichenfolge nicht zur Verwaltung von ACLs verwenden. Siehe Apache Kafka ACLs.

  • Im KraFT-Modus werden die Metadaten Ihres Clusters auf KraFT-Controllern innerhalb von Kafka und nicht auf externen ZooKeeper Knoten gespeichert. Daher müssen Sie den Zugriff auf Controller-Knoten nicht separat steuern, wie dies bei ZooKeeper Knoten der Fall ist.