Étape 4 : créer une rubrique dans le cluster Amazon MSK - 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.

Étape 4 : créer une rubrique dans le cluster Amazon MSK

Lors de cette étape de Mise en route avec Amazon MSK, vous installez les bibliothèques clientes et les outils Apache Kafka sur l'ordinateur client, puis vous créez une rubrique.

Avertissement

Les numéros de version d'Apache Kafka utilisés dans ce didacticiel ne sont que des exemples. Nous vous recommandons d'utiliser la même version du client que votre version de cluster MSK. Certaines fonctionnalités et corrections de bogues critiques peuvent être absentes d'une ancienne version du client.

Déterminer la version de votre cluster MSK

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

  2. Dans la barre de navigation, choisissez la région dans laquelle vous avez créé le cluster MSK.

  3. Choisissez le cluster MSK.

  4. Notez la version d'Apache Kafka utilisée sur le cluster.

  5. Remplacez les instances des numéros de version d'Amazon MSK dans ce didacticiel par la version obtenue à l'étape 3.

Création d'un sujet sur la machine cliente

  1. Connectez-vous à votre machine cliente.

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

    2. Dans le panneau de navigation, choisissez Instances. Cochez ensuite la case à côté du nom de la machine cliente dans laquelle vous l'avez crééeÉtape 3 : Créer un ordinateur client.

    3. Choisissez Actions, puis Modifier. Suivez les instructions dans la console pour vous connecter à votre ordinateur client.

  2. Installez Java et configurez la variable d'environnement de version de Kafka.

    1. Installez Java sur la machine cliente en exécutant la commande suivante.

      sudo yum -y install java-11
    2. Stockez la version Kafka de votre cluster MSK dans la variable d'environnementKAFKA_VERSION, comme indiqué dans la commande suivante. Vous aurez besoin de ces informations tout au long de la configuration.

      export KAFKA_VERSION={KAFKA VERSION}

      Par exemple, si vous utilisez la version 3.6.0, utilisez la commande suivante.

      export KAFKA_VERSION=3.6.0
  3. Téléchargez et décompressez Apache Kafka.

    1. Exécutez la commande suivante pour télécharger Apache Kafka.

      wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz

      Par exemple, si votre cluster MSK utilise Apache Kafka version 3.6.0, exécutez la commande suivante.

      wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz
      Note

      La liste suivante présente des informations de téléchargement alternatives de Kafka que vous pouvez utiliser en cas de problème.

      • Si vous rencontrez des problèmes de connectivité ou si vous souhaitez utiliser un site miroir, essayez d'utiliser le sélecteur de miroir Apache, comme indiqué dans la commande suivante.

        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      • Téléchargez une version appropriée directement depuis le site Web d'Apache Kafka.

    2. Exécutez la commande suivante dans le répertoire où vous avez téléchargé le fichier TAR à l'étape précédente.

      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
    3. Enregistrez le chemin complet du répertoire nouvellement créé dans la variable d'KAFKA_ROOTenvironnement.

      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
  4. Configurez l'authentification pour votre cluster MSK.

    1. Téléchargez la dernière version du fichier JAR Amazon MSK IAM dans le $KAFKA_ROOT/libs répertoire. Utilisez la commande suivante pour télécharger le fichier et remplacez-le {LATEST VERSION} par le numéro de version réel.

      cd $KAFKA_ROOT/libs wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-{LATEST VERSION}-all.jar

      Le fichier JAR Amazon MSK IAM permet à votre machine cliente d'accéder au cluster MSK à l'aide de l'authentification IAM.

      Note

      Avant d'exécuter des commandes Kafka qui interagissent avec votre cluster MSK, vous devrez peut-être ajouter le fichier Amazon MSK IAM JAR à votre chemin de classe Java. Définissez la variable d'CLASSPATHenvironnement, comme indiqué dans l'exemple suivant.

      export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar

      Cela définit la valeur CLASSPATH pour l'ensemble de votre session, rendant le JAR disponible pour toutes les commandes Kafka suivantes.

    2. Accédez au $KAFKA_ROOT/config répertoire pour créer le fichier de configuration du client.

      cd $KAFKA_ROOT/config
    3. Copiez les paramètres de propriété suivants et collez-les dans un nouveau fichier. Enregistrez le fichier sous le nom client.properties.

      security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
  5. (Facultatif) Si vous rencontrez des problèmes liés à la mémoire ou si vous travaillez avec un grand nombre de sujets ou de partitions, vous pouvez ajuster la taille du segment de mémoire Java pour les outils Kafka. Pour ce faire, définissez la variable d'KAFKA_HEAP_OPTSenvironnement avant d'exécuter les commandes Kafka.

    L'exemple suivant définit à la fois la taille maximale et la taille initiale du tas à 512 mégaoctets. Ajustez ces valeurs en fonction de vos besoins spécifiques et des ressources système disponibles.

    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
  6. Obtenez les informations de connexion à votre cluster.

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

    2. Attendez que le statut de votre cluster devienne Actif. Cela peut prendre plusieurs minutes. Lorsque le statut devient Actif, choisissez le nom du cluster. Cela vous amène à une page contenant le récapitulatif du cluster.

    3. Choisissez Afficher les informations sur le client.

    4. Copiez la chaîne de connexion pour le point de terminaison privé.

      Vous obtiendrez trois points de terminaison pour chacun des courtiers. Stockez l'une de ces chaînes de connexion dans la variable d'environnementBOOTSTRAP_SERVER, comme indiqué dans la commande suivante. Remplacez <bootstrap-server-string> par la valeur réelle de la chaîne de connexion.

      export BOOTSTRAP_SERVER=<bootstrap-server-string>
  7. Exécutez la commande suivante pour créer le sujet.

    $KAFKA_ROOT/bin/kafka-topics.sh --create --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties --replication-factor 3 --partitions 1 --topic MSKTutorialTopic

    Si vous obtenez un NoSuchFileException pour le client.properties fichier, assurez-vous que ce fichier existe dans le répertoire de travail actuel du répertoire bin de Kafka.

    Note

    Si vous préférez ne pas définir la variable d'CLASSPATHenvironnement pour l'ensemble de votre session, vous pouvez également préfixer chaque commande Kafka par la CLASSPATH variable. Cette approche applique le chemin de classe uniquement à cette commande spécifique.

    CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-{LATEST VERSION}-all.jar \ $KAFKA_ROOT/bin/kafka-topics.sh --create \ --bootstrap-server $BOOTSTRAP_SERVER \ --command-config $KAFKA_ROOT/config/client.properties \ --replication-factor 3 \ --partitions 1 \ --topic MSKTutorialTopic
  8. (Facultatif) Vérifiez que le sujet a été créé correctement.

    1. Si la commande aboutit, le message suivant devrait s'afficher : Created topic MSKTutorialTopic.

    2. Répertoriez tous les sujets pour confirmer l'existence de votre sujet.

      $KAFKA_ROOT/bin/kafka-topics.sh --list --bootstrap-server $BOOTSTRAP_SERVER --command-config $KAFKA_ROOT/config/client.properties

    Si la commande échoue ou si vous rencontrez une erreur, consultez Résoudre les problèmes liés à votre cluster Amazon MSK les informations de dépannage.

  9. (Facultatif) Si vous souhaitez conserver vos variables d'environnement pour les prochaines étapes de ce didacticiel, ignorez cette étape. Dans le cas contraire, vous pouvez annuler la définition des variables, comme indiqué dans l'exemple suivant.

    unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS

Étape suivante

Étape 5 : Produire et consommer des données