View a markdown version of this page

Gestione dei metadati - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione dei metadati

Amazon MSK supporta le modalità di gestione dei metadati ZooKeeper Apache o KRAFT.

A partire dalla versione 3.7.x di Apache Kafka su Amazon MSK, puoi creare cluster che utilizzano la modalità KRAFT anziché la modalità. ZooKeeper KRaft-based i cluster si affidano ai controller all'interno di Kafka per gestire i metadati.

ZooKeeper modalità

Apache ZooKeeper è «un servizio centralizzato per la gestione delle informazioni di configurazione, la denominazione, la sincronizzazione distribuita e la fornitura di servizi di gruppo. Tutti questi tipi di servizi vengono utilizzati in una forma o nell'altra dalle applicazioni distribuite», incluso Apache Kafka.

Se il tuo cluster utilizza la ZooKeeper modalità, puoi utilizzare i passaggi seguenti per ottenere la stringa di connessione ZooKeeper Apache. Tuttavia, ti consigliamo di utilizzarla BootstrapServerString per connetterti al tuo cluster ed eseguire operazioni di amministrazione poiché il --zookeeper flag è diventato obsoleto in Kafka 2.5 ed è stato rimosso da Kafka 3.0.

Ottenere la stringa di connessione Apache utilizzando ZooKeeper Console di gestione AWS

  1. Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/.

  2. La tabella mostra tutti i cluster per la regione corrente in questo account. Scegli il nome di un cluster per visualizzarne la descrizione.

  3. Nella pagina Riepilogo del cluster, scegli Visualizza informazioni sul client. Questo mostra i broker bootstrap e la stringa di connessione ZooKeeper Apache.

Ottenere la stringa di connessione Apache utilizzando ZooKeeper AWS CLI

  1. Se l'Amazon Resource Name (ARN) del cluster non è noto, puoi trovarlo elencando tutti i cluster nell'account. Per ulteriori informazioni, consulta Elenca i cluster Amazon MSK.

  2. Per ottenere la stringa di ZooKeeper connessione Apache, insieme ad altre informazioni sul tuo cluster, esegui il comando seguente, sostituendola ClusterArn con l'ARN del tuo cluster.

    aws kafka describe-cluster --cluster-arn ClusterArn

    L'output di questo comando describe-cluster è simile all'esempio JSON seguente.

    { "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" } }

    L'esempio JSON precedente mostra la chiave ZookeeperConnectString nell'output del comando describe-cluster. Copia il valore corrispondente a questa chiave e salvalo per utilizzarlo quando è necessario creare un argomento nel cluster.

    Importante

    Il cluster Amazon MSK deve essere nello ACTIVE stato necessario per poter ottenere la stringa di connessione ZooKeeper Apache. Quando un cluster è ancora nello stato CREATING, l'output del comando describe-cluster non include ZookeeperConnectString. In questo caso, occorre attendere alcuni minuti ed eseguire nuovamente describe-cluster dopo che il cluster raggiunge lo stato ACTIVE.

Ottenere la stringa di ZooKeeper connessione Apache tramite l'API

Per ottenere la stringa di ZooKeeper connessione Apache utilizzando l'API, consulta. DescribeCluster

modalità KRAFT

Amazon MSK ha introdotto il supporto per KRAFT (Apache Kafka Raft) nella versione 3.7.x di Kafka. La comunità Apache Kafka ha sviluppato KRAFT per sostituire Apache per la gestione dei metadati nei cluster Apache Kafka. ZooKeeper In modalità KraFT, i metadati del cluster vengono propagati all'interno di un gruppo di controller Kafka, che fanno parte del cluster Kafka, anziché tra i nodi. ZooKeeper I controller KRAFT sono inclusi senza costi aggiuntivi e non richiedono alcuna configurazione o gestione aggiuntiva da parte dell'utente. KIP-500Per ulteriori informazioni su KRAFT, consulta.

Ecco alcuni punti da notare sulla modalità KRAFT su MSK:

  • È possibile migrare ZooKeeper-based i cluster esistenti alla modalità KRAFT utilizzando l'API. UpdateClusterKafkaVersion Per ulteriori informazioni, consulta Esegui la migrazione dalla modalità ZooKeeper KRAFT.

  • Sulla console MSK, puoi creare un Kraft-based cluster scegliendo la versione 3.7.x di Kafka e selezionando la casella di controllo KRAFT nella finestra di creazione del cluster.

  • Per creare un cluster in modalità KRaft utilizzando l'API CreateCluster o CreateClusterV2 le operazioni di MSK, è necessario utilizzare come versione. 3.7.x.kraft 3.7.xUsalo come versione per creare un cluster in ZooKeeper modalità.

  • Il numero di partizioni per broker è lo stesso su KRAFT e sui cluster ZooKeeper basati. Tuttavia, KRAFT consente di ospitare più partizioni per cluster eseguendo il provisioning di più broker in un cluster.

  • Non sono necessarie modifiche alle API per utilizzare la modalità KRAFT su Amazon MSK. Tuttavia, se i tuoi clienti utilizzano ancora la stringa di --zookeeper connessione oggi, dovresti aggiornare i clienti in modo che utilizzino la stringa di --bootstrap-server connessione per connettersi al cluster. Il --zookeeper flag è obsoleto nella versione 2.5 di Apache Kafka e viene rimosso a partire dalla versione 3.0 di Kafka. Si consiglia pertanto di utilizzare le versioni recenti del client Apache Kafka e la stringa di connessione per tutte le connessioni al cluster. --bootstrap-server

  • ZooKeeper la modalità continua a essere disponibile per tutte le versioni rilasciate in cui zookeeper è supportato anche da Apache Kafka. Consulta i dettagli sulla fine del supporto Versioni di Apache Kafka supportate per le versioni di Apache Kafka e sugli aggiornamenti futuri.

  • Dovresti verificare che tutti gli strumenti che utilizzi siano in grado di utilizzare le API di amministrazione di Kafka senza connessioni. ZooKeeper Consulta la procedura aggiornata Usa LinkedIn il Cruise Control per Apache Kafka con Amazon MSK per connettere il cluster a Cruise Control. Cruise Control contiene anche le istruzioni per utilizzare Cruise Control senza ZooKeeper.

  • Non è necessario accedere direttamente ai controller KRAFT del cluster per alcuna azione amministrativa. Tuttavia, se utilizzi il monitoraggio aperto per raccogliere le metriche, hai bisogno anche degli endpoint DNS dei controller per raccogliere alcune metriche non correlate al controller sul tuo cluster. Puoi ottenere questi endpoint DNS dalla console MSK o utilizzando l'operazione API. ListNodes Consulta Monitora un cluster MSK Provisioned con Prometheus la procedura aggiornata per configurare il monitoraggio aperto per i cluster. KRaft-based

  • Non è necessario monitorare alcuna CloudWatch metrica aggiuntiva per i cluster in modalità Kraft rispetto ai cluster di modalità. ZooKeeper MSK gestisce i controller KRAFT utilizzati nei cluster.

  • È possibile continuare a gestire gli ACL utilizzando i cluster in modalità KRAFT utilizzando la stringa di connessione. --bootstrap-server Non dovresti usare la stringa di --zookeeper connessione per gestire gli ACL. Per informazioni, consulta ACL Apache Kafka.

  • In modalità KRaft, i metadati del cluster vengono archiviati sui controller KRAFT all'interno di Kafka e non su nodi esterni. ZooKeeper Pertanto, non è necessario controllare l'accesso ai nodi del controller separatamente come si fa con i nodi. ZooKeeper