View a markdown version of this page

Fase 4: Creare un argomento nel cluster Amazon MSK - 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à.

Fase 4: Creare un argomento nel cluster Amazon MSK

In questa fase di Guida introduttiva ad Amazon MSK, puoi creare un argomento utilizzando uno dei due approcci seguenti: utilizzare AWS strumenti nativi con l' CreateTopic API o utilizzare gli strumenti Apache Kafka su un computer AdminClient client.

avvertimento

Quando utilizzi AWS strumenti con l' CreateTopic API, verifica che il cluster soddisfi i requisiti. Per i dettagli, consulta Requisiti per l'utilizzo delle API dell'argomento.

avvertimento

Quando si utilizza AdminClient questo approccio, i numeri di versione di Apache Kafka utilizzati in questo tutorial sono solo esempi. Ti consigliamo di utilizzare la stessa versione del client della versione del cluster MSK. In una versione precedente del client potrebbero mancare alcune funzionalità e correzioni di bug critici.

Creazione di un argomento utilizzando AWS strumenti

È possibile creare argomenti nel cluster MSK utilizzando AWS strumenti come la AWS CLI, gli AWS SDK o la AWS console di gestione. Questo approccio fornisce un modo semplificato per gestire gli argomenti senza richiedere l'accesso diretto agli strumenti client di Kafka.

Per informazioni dettagliate sulla creazione di argomenti utilizzando gli AWS strumenti, consulta la guida per gli sviluppatori di CreateTopic API.

Determinazione della versione del cluster MSK

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

  2. Nella barra di navigazione, scegli la regione in cui hai creato il cluster MSK.

  3. Scegli il cluster MSK.

  4. Prendi nota della versione di Apache Kafka utilizzata nel cluster.

  5. Sostituisci le istanze dei numeri di versione di Amazon MSK in questo tutorial con la versione ottenuta nel passaggio 3.

Creazione di un argomento sul computer client

  1. Connettiti al tuo computer client.

    1. Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/.

    2. Nel riquadro di navigazione, scegliere Instances (Istanze). Quindi, seleziona la casella di controllo accanto al nome del computer client in cui hai creatoPassaggio 3: creazione di un computer client.

    3. Scegliere Actions (Operazioni), quindi selezionare Connect (Connetti). Segui le istruzioni riportate nella console per connetterti al computer client.

  2. Installa Java e configura la variabile di ambiente della versione di Kafka.

    1. Installa Java sul computer client eseguendo il seguente comando.

      sudo yum -y install java-11
    2. Memorizza la versione Kafka del tuo cluster MSK nella variabile di ambienteKAFKA_VERSION, come mostrato nel comando seguente. Avrai bisogno di queste informazioni durante la configurazione.

      export KAFKA_VERSION={KAFKA VERSION}

      Ad esempio, se stai usando la versione 3.6.0, usa il seguente comando.

      export KAFKA_VERSION=3.6.0
  3. Scarica ed estrai Apache Kafka.

    1. Eseguire il seguente comando per scaricare Apache Kafka.

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

      L'elenco seguente presenta alcune informazioni alternative per il download di Kafka che puoi utilizzare in caso di problemi.

      • Se riscontrate problemi di connettività o desiderate utilizzare un sito mirror, provate a utilizzare il mirror selector di Apache, come mostrato nel comando seguente.

        wget https://www.apache.org/dyn/closer.cgi?path=/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
      • Scaricate una versione appropriata direttamente dal sito Web di Apache Kafka.

    2. Eseguire il comando seguente nella directory in cui è stato scaricato il file TAR nella fase precedente.

      tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
    3. Memorizza il percorso completo della directory appena creata all'interno della KAFKA_ROOT variabile di ambiente.

      export KAFKA_ROOT=$(pwd)/kafka_2.13-$KAFKA_VERSION
  4. Configura l'autenticazione per il tuo cluster MSK.

    1. Trova la versione più recente della libreria client IAM di Amazon MSK. Questa libreria consente al computer client di accedere al cluster MSK utilizzando l'autenticazione IAM.

    2. Utilizzando i seguenti comandi, accedi alla $KAFKA_ROOT/libs directory e scarica il JAR IAM di Amazon MSK associato che hai trovato nel passaggio precedente. Assicurati di sostituirlo {LATEST VERSION} con il numero di versione effettivo che stai scaricando.

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

      Prima di eseguire qualsiasi comando Kafka che interagisce con il tuo cluster MSK, potresti dover aggiungere il file JAR IAM di Amazon MSK al tuo percorso di classe Java. Imposta la variabile di CLASSPATH ambiente, come mostrato nell'esempio seguente.

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

      Questo imposta il valore CLASSPATH per l'intera sessione, rendendo il JAR disponibile per tutti i comandi Kafka successivi.

    3. Vai alla $KAFKA_ROOT/config directory per creare il file di configurazione del client.

      cd $KAFKA_ROOT/config
    4. Copia le impostazioni delle proprietà seguenti e incollale in un nuovo file. Salva il file con nome 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. (Facoltativo) Regola la dimensione dell'heap Java per gli strumenti Kafka.

    Se riscontri problemi relativi alla memoria o stai lavorando con un numero elevato di argomenti o partizioni, puoi modificare la dimensione dell'heap Java. Per fare ciò, impostate la variabile di KAFKA_HEAP_OPTS ambiente prima di eseguire i comandi Kafka.

    L'esempio seguente imposta la dimensione massima e iniziale dell'heap su 512 megabyte. Modifica questi valori in base ai requisiti specifici e alle risorse di sistema disponibili.

    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
  6. Ottieni le informazioni sulla connessione al cluster.

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

    2. Attendi che lo stato del cluster diventi Attivo. Questo processo potrebbe richiedere diversi minuti. Dopo che lo stato diventa Attivo, scegli il nome del cluster. Verrà visualizzata una pagina contenente il riepilogo del cluster.

    3. Scegli Visualizza le informazioni sul client.

    4. Copia la stringa di connessione per l'endpoint privato.

      Otterrai tre endpoint per ciascuno dei broker. Memorizza una di queste stringhe di connessione nella variabile di ambienteBOOTSTRAP_SERVER, come mostrato nel comando seguente. Sostituisci <bootstrap-server-string> con il valore effettivo della stringa di connessione.

      export BOOTSTRAP_SERVER=<bootstrap-server-string>
  7. Esegui il comando seguente per creare l'argomento.

    $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

    Se ottieni un file NoSuchFileException per il client.properties file, assicurati che questo file esista nella directory di lavoro corrente all'interno della directory bin di Kafka.

    Nota

    Se preferisci non impostare la variabile di CLASSPATH ambiente per l'intera sessione, puoi in alternativa anteporre la variabile a ogni comando Kafka. CLASSPATH Questo approccio applica il classpath solo a quel comando specifico.

    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. (Facoltativo) Verifica che l'argomento sia stato creato correttamente.

    1. Se il comando ha esito positivo, dovresti vedere il seguente messaggio: Created topic MSKTutorialTopic.

    2. Elenca tutti gli argomenti per confermare l'esistenza dell'argomento.

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

    Se il comando non ha esito positivo o si verifica un errore, consulta Risolvi i problemi del tuo cluster Amazon MSK per informazioni sulla risoluzione dei problemi.

  9. (Facoltativo) Elimina le variabili di ambiente che hai usato in questo tutorial.

    Se desideri mantenere le variabili di ambiente per i passaggi successivi di questo tutorial, salta questo passaggio. Altrimenti, puoi annullare l'impostazione di queste variabili, come mostrato nell'esempio seguente.

    unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS

Fase successiva

Passaggio 5: produzione e utilizzo di dati