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 Apache ZooKeeper o KRAFT.

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 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 da 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 utilizzare il BootstrapServerString per connetterti al tuo cluster ed eseguire operazioni di amministrazione poiché il --zookeeper flag è stato reso obsoleto in Kafka 2.5 ed è stato rimosso da Kafka 3.0.

ZooKeeper Ottenere la stringa di connessione Apache utilizzando il 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 usando ZooKeeper il 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 cluster, esegui il comando seguente, sostituendolo ClusterArn con l'ARN del 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 trovarsi nello ACTIVE stato in cui è possibile ottenere la stringa di ZooKeeper connessione 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, vedi. DescribeCluster

modalità KRAFT

Amazon MSK ha introdotto il supporto per KRAFT (Apache Kafka Raft) nella versione 3.7.x di Kafka. La community di 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 per l'utente e non richiedono alcuna configurazione o gestione aggiuntiva da parte dell'utente. KIP-500Per ulteriori informazioni su KRAFT, consulta la pagina.

Ecco alcuni punti da tenere in considerazione sulla modalità KRAFT su MSK:

  • La modalità KRAFT è disponibile solo per i nuovi cluster. Non è possibile cambiare modalità di metadati una volta creato il cluster.

  • Sulla console MSK, è possibile 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 CreateClustero CreateClusterV2le operazioni MSK, è necessario utilizzare come versione. 3.7.x.kraft Usa 3.7.x 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 fornendo più broker in un cluster.

  • Non sono necessarie modifiche all'API per utilizzare la modalità KRAFT su Amazon MSK. Tuttavia, se i tuoi client utilizzano ancora la stringa di --zookeeper connessione oggi, dovresti aggiornarli 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. Ti consigliamo quindi di utilizzare le versioni recenti del client Apache Kafka e la stringa di connessione per tutte le connessioni al tuo cluster. --bootstrap-server

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

  • È necessario verificare che tutti gli strumenti utilizzati 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 fornisce anche istruzioni per utilizzare il Cruise Control senza ZooKeeper.

  • Non è necessario accedere direttamente ai controller KRAFT del cluster per eventuali azioni amministrative. Tuttavia, se utilizzate il monitoraggio aperto per raccogliere le metriche, avete bisogno anche degli endpoint DNS dei vostri controller per raccogliere alcune metriche non relative ai controller sul vostro cluster. È possibile ottenere questi endpoint DNS dalla console MSK o utilizzando l'operazione API. ListNodes Vedi i passaggi aggiornati Monitora un cluster MSK Provisioned con Prometheus per configurare il monitoraggio aperto per i cluster. KRaft-based

  • Non è necessario monitorare CloudWatch metriche aggiuntive per i cluster in modalità Kraft rispetto ai cluster modali. 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 è necessario utilizzare 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