View a markdown version of this page

Gestion des métadonnées - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des métadonnées

Amazon MSK prend en charge les modes de gestion des métadonnées Apache ZooKeeper ou Kraft.

À partir de la version 3.7.x d'Apache Kafka sur Amazon MSK, vous pouvez créer des clusters qui utilisent le mode Kraft au lieu du mode. ZooKeeper KRaft-based les clusters s'appuient sur des contrôleurs au sein de Kafka pour gérer les métadonnées.

ZooKeeper mode

Apache ZooKeeper est « un service centralisé permettant de gérer les informations de configuration, de nommer, de fournir une synchronisation distribuée et de fournir des services de groupe. Tous ces types de services sont utilisés sous une forme ou une autre par des applications distribuées », y compris Apache Kafka.

Si votre cluster utilise ZooKeeper le mode, vous pouvez suivre les étapes ci-dessous pour obtenir la chaîne de ZooKeeper connexion Apache. Cependant, nous vous recommandons de l'utiliser pour vous connecter BootstrapServerString à votre cluster et effectuer des opérations d'administration car l'--zookeeperindicateur est obsolète dans Kafka 2.5 et a été supprimé de Kafka 3.0.

Obtenir la chaîne de ZooKeeper connexion Apache à l'aide du Console de gestion AWS

  1. Ouvrez la console Amazon MSK à l'adresse https://console.aws.amazon.com/msk/.

  2. Le tableau présente tous les clusters de la région actuelle sous ce compte. Choisissez le nom d'un cluster pour afficher sa description.

  3. Sur la page de résumé du cluster, choisissez Voir les informations client. Cela vous montre les courtiers Bootstrap, ainsi que la chaîne de ZooKeeper connexion Apache.

Obtenir la chaîne de ZooKeeper connexion Apache à l'aide du AWS CLI

  1. Si vous ne connaissez pas le nom Amazon Resource Name (ARN) de votre cluster, vous pouvez le trouver en listant tous les clusters de votre compte. Pour de plus amples informations, veuillez consulter Répertorier les clusters Amazon MSK.

  2. Pour obtenir la chaîne de ZooKeeper connexion Apache, ainsi que d'autres informations sur votre cluster, exécutez la commande suivante, en la ClusterArn remplaçant par l'ARN de votre cluster.

    aws kafka describe-cluster --cluster-arn ClusterArn

    La sortie de cette commande describe-cluster ressemble à l'exemple JSON suivant.

    { "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'exemple JSON précédent montre la clé ZookeeperConnectString dans la sortie de la commande describe-cluster. Copiez la valeur correspondant à cette clé et enregistrez-la pour pouvoir la réutiliser lorsque vous devrez créer une rubrique sur votre cluster.

    Important

    Votre cluster Amazon MSK doit être en ACTIVE état pour que vous puissiez obtenir la chaîne de ZooKeeper connexion Apache. Lorsqu'un cluster a toujours l'état CREATING, la sortie de la commande describe-cluster n'inclut pas ZookeeperConnectString. Si c'est le cas, attendez quelques minutes, puis exécutez à nouveau describe-cluster après que votre cluster a atteint l'état ACTIVE.

Obtenir la chaîne de ZooKeeper connexion Apache à l'aide de l'API

Pour obtenir la chaîne de ZooKeeper connexion Apache à l'aide de l'API, consultez DescribeCluster.

Mode KRAFT

Amazon MSK a introduit la prise en charge de Kraft (Apache Kafka Raft) dans la version 3.7.x de Kafka. La communauté Apache Kafka a développé KRAFT pour remplacer Apache ZooKeeper pour la gestion des métadonnées dans les clusters Apache Kafka. En mode KRAFT, les métadonnées du cluster sont propagées au sein d'un groupe de contrôleurs Kafka, qui font partie du cluster Kafka, plutôt que d'un nœud à l'autre. ZooKeeper Les contrôleurs Kraft sont inclus sans frais supplémentaires pour vous et ne nécessitent aucune configuration ou gestion supplémentaire de votre part. Voir KIP-500 pour plus d'informations sur Kraft.

Voici quelques points à noter à propos du mode Kraft sur MSK :

  • Vous pouvez migrer les ZooKeeper-based clusters existants vers le mode KRAFT à l'aide de l'UpdateClusterKafkaVersionAPI. Pour de plus amples informations, veuillez consulter Migrer depuis ZooKeeper le mode KRAFT.

  • Sur la console MSK, vous pouvez créer un Kraft-based cluster en choisissant Kafka version 3.7.x et en cochant la case Kraft dans la fenêtre de création du cluster.

  • Pour créer un cluster en mode Kraft à l'aide de l'API CreateCluster ou CreateClusterV2 des opérations MSK, vous devez l'utiliser 3.7.x.kraft comme version. 3.7.xUtilisez-la comme version pour créer un cluster en ZooKeeper mode.

  • Le nombre de partitions par courtier est le même sur Kraft et sur les clusters ZooKeeper basés. Toutefois, KRAFT vous permet d'héberger davantage de partitions par cluster en provisionnant davantage de courtiers dans un cluster.

  • Aucune modification de l'API n'est requise pour utiliser le mode Kraft sur Amazon MSK. Toutefois, si vos clients utilisent toujours la chaîne de --zookeeper connexion aujourd'hui, vous devez mettre à jour vos clients pour qu'ils utilisent la chaîne de --bootstrap-server connexion pour se connecter à votre cluster. L'--zookeeperindicateur est obsolète dans la version 2.5 d'Apache Kafka et est supprimé à partir de la version 3.0 de Kafka. Nous vous recommandons donc d'utiliser les versions récentes du client Apache Kafka et la chaîne de --bootstrap-server connexion pour toutes les connexions à votre cluster.

  • ZooKeeper le mode continue d'être disponible pour toutes les versions publiées dans lesquelles Zookeeper est également pris en charge par Apache Kafka. Consultez Versions Apache Kafka prises en charge les détails concernant la fin du support pour les versions d'Apache Kafka et les futures mises à jour.

  • Vous devez vérifier que tous les outils que vous utilisez sont capables d'utiliser les API d'administration de Kafka sans ZooKeeper connexion. Consultez les étapes mises à jour Régulateur LinkedIn de vitesse d'utilisation pour Apache Kafka avec Amazon MSK pour connecter votre cluster au régulateur de vitesse. Le régulateur de vitesse contient également des instructions pour faire fonctionner le régulateur de vitesse sans ZooKeeper.

  • Vous n'avez pas besoin d'accéder directement aux contrôleurs KRAFT de votre cluster pour effectuer des actions administratives. Toutefois, si vous utilisez la surveillance ouverte pour collecter des métriques, vous avez également besoin des points de terminaison DNS de vos contrôleurs afin de collecter certaines métriques non liées aux contrôleurs concernant votre cluster. Vous pouvez obtenir ces points de terminaison DNS à partir de la console MSK ou à l'aide de l'opération ListNodes API. Consultez Surveillez un cluster MSK Provisioned avec Prometheus les étapes mises à jour pour configurer la surveillance ouverte pour les KRaft-based clusters.

  • Vous n'avez pas besoin de CloudWatch mesures supplémentaires pour surveiller les clusters en mode Kraft par rapport aux clusters ZooKeeper en mode. MSK gère les contrôleurs KRAFT utilisés dans vos clusters.

  • Vous pouvez continuer à gérer les ACL à l'aide de clusters en mode Kraft à l'aide de la chaîne de --bootstrap-server connexion. Vous ne devez pas utiliser la chaîne de --zookeeper connexion pour gérer les ACL. Consultez Listes de contrôle d'accès (ACL) Apache Kafka.

  • En mode KRAFT, les métadonnées de votre cluster sont stockées sur les contrôleurs KRAFT au sein de Kafka et non sur ZooKeeper des nœuds externes. Par conséquent, vous n'avez pas besoin de contrôler l'accès aux nœuds de contrôleur séparément comme vous le faites pour les ZooKeeper nœuds.