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 die Metadatenverwaltungsmodi Apache ZooKeeper oder Kraft.

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 verlassen sich auf Controller in Kafka, um Metadaten zu verwalten.

ZooKeeper Modus

Apache ZooKeeper ist „ein zentralisierter Dienst für die Verwaltung von Konfigurationsinformationen, Benennung, Bereitstellung verteilter Synchronisation und Bereitstellung von Gruppendiensten. Alle 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 Admin-Operationen 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 mit dem 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 über Ihren 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 Zustand 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 führte die Unterstützung für KRAft (Apache Kafka Raft) in der Kafka-Version 3.7.x ein. Die Apache Kafka-Community entwickelte KRAft, 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 weitergegeben, die Teil des Kafka-Clusters sind, und nicht knotenübergreifend. 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:

  • Sie können bestehende ZooKeeper-based Cluster mithilfe der UpdateClusterKafkaVersion API in den Kraft-Modus migrieren. Weitere Informationen finden Sie unter Migrieren ZooKeeper Sie vom Kraft-Modus.

  • 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 Markierungsfeld KRAft auswählen.

  • Um einen Cluster im Kraft-Modus mithilfe der MSK-API CreateCluster oder CreateClusterV2 -Operationen zu erstellen, sollten Sie als Version verwenden. 3.7.x.kraft 3.7.xAls Version verwenden, um einen Cluster im ZooKeeper Modus zu erstellen.

  • Die Anzahl der Partitionen pro Broker ist bei KRAft und ZooKeeper basierten Clustern gleich. KRAft ermöglicht es Ihnen jedoch, mehr Partitionen pro Cluster zu 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 Kunden die --zookeeper Verbindungszeichenfolge jedoch heute noch verwenden, sollten Sie Ihre Kunden 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 daher, aktuelle Versionen des Apache Kafka-Clients 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 zukünftige 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. Der Tempomat enthält auch Anweisungen, wie Sie den Tempomat ohne verwenden können ZooKeeper.

  • Für administrative Aktionen müssen Sie nicht direkt auf die Kraft-Controller Ihres Clusters zugreifen. Wenn Sie jedoch Open Monitoring verwenden, um Metriken zu sammeln, benötigen Sie auch die DNS-Endpunkte Ihrer Controller, um einige Metriken über Ihren Cluster zu sammeln, die nichts mit Controllern zu tun haben. Sie können diese DNS-Endpunkte über die MSK-Konsole oder mithilfe der API-Operation abrufen. ListNodes Aktualisierte 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 die Überwachung von Clustern im Kraft-Modus gegenüber Clustern ZooKeeper im Modus benötigen. MSK verwaltet die in Ihren Clustern verwendeten Kraft-Controller.

  • Sie können ACLs weiterhin verwalten, indem Sie Cluster im Kraft-Modus mithilfe der --bootstrap-server Verbindungszeichenfolge verwenden. 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 gespeichert und nicht auf externen ZooKeeper Knoten. Daher müssen Sie den Zugriff auf Controller-Knoten nicht separat steuern, wie Sie es bei ZooKeeper Knoten tun.