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 questo passaggio della Guida introduttiva all'utilizzo di Amazon MSK, installi librerie e strumenti client di Apache Kafka sul computer client e quindi crei un argomento.
avvertimento
I numeri di versione di Apache Kafka utilizzati in questo tutorial sono solo degli 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.
Determinazione della versione del cluster MSK
Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/
. -
Nella barra di navigazione, scegli la regione in cui hai creato il cluster MSK.
Scegliete il cluster MSK.
Prendi nota della versione di Apache Kafka utilizzata nel cluster.
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
-
Connect al computer client.
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
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.
-
Scegliere Actions (Operazioni), quindi selezionare Connect (Connetti). Segui le istruzioni riportate nella console per connetterti al computer client.
-
Installa Java e configura la variabile di ambiente della versione Kafka.
-
Installa Java sul computer client eseguendo il comando seguente.
sudo yum -y install java-11
-
Memorizza la versione Kafka del tuo cluster MSK nella variabile di ambiente
KAFKA_VERSION
, come mostrato nel comando seguente. Avrai bisogno di queste informazioni durante tutta la configurazione.export KAFKA_VERSION=
{KAFKA VERSION}
Ad esempio, se utilizzi la versione 3.6.0, usa il comando seguente.
export KAFKA_VERSION=3.6.0
-
-
Scarica ed estrai Apache Kafka.
-
Eseguire il seguente comando per scaricare Apache Kafka.
wget https://archive.apache.org/dist/kafka/$KAFKA_VERSION/kafka_2.13-$KAFKA_VERSION.tgz
Ad esempio, se il cluster MSK utilizza la versione 3.6.0 di Apache Kafka, esegui il comando seguente.
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz
Nota
L'elenco seguente presenta alcune informazioni alternative per il download di Kafka che è possibile utilizzare in caso di problemi.
-
Se riscontri problemi di connettività o desideri utilizzare un sito mirror, prova a utilizzare il selettore dei mirror 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
.
-
-
Eseguire il comando seguente nella directory in cui è stato scaricato il file TAR nella fase precedente.
tar -xzf kafka_2.13-$KAFKA_VERSION.tgz
-
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
-
-
Configura l'autenticazione per il tuo cluster MSK.
-
Scarica la versione più recente del file JAR Amazon MSK IAM all'interno della
$KAFKA_ROOT/libs
directory. Usa il seguente comando per scaricare il file e sostituirlo{LATEST VERSION}
con il numero di versione effettivo.cd $KAFKA_ROOT/libs wget https://github.com/aws/aws-msk-iam-auth/releases/latest/download/aws-msk-iam-auth-
{LATEST VERSION}
-all.jarIl file JAR Amazon MSK IAM consente alla macchina client di accedere al cluster MSK utilizzando l'autenticazione IAM.
Nota
Prima di eseguire qualsiasi comando Kafka che interagisca con il tuo cluster MSK, potresti dover aggiungere il file JAR Amazon MSK IAM al tuo classpath Java. Imposta la variabile di
CLASSPATH
ambiente, come mostrato nell'esempio seguente.export CLASSPATH=$KAFKA_ROOT/libs/aws-msk-iam-auth-
{LATEST VERSION}
-all.jarQuesto imposta la
CLASSPATH
per l'intera sessione, rendendo il JAR disponibile per tutti i comandi Kafka successivi. -
Vai alla
$KAFKA_ROOT/config
directory per creare il file di configurazione del client.cd $KAFKA_ROOT/config
-
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
-
-
(Facoltativo) Se riscontrate problemi relativi alla memoria o state lavorando con un gran numero di argomenti o partizioni, potete regolare la dimensione dell'heap Java per gli strumenti Kafka. Per fare ciò, impostate la variabile di
KAFKA_HEAP_OPTS
ambiente prima di eseguire i comandi di Kafka.L'esempio seguente imposta la dimensione massima e iniziale dell'heap su 512 megabyte. Regola questi valori in base ai requisiti specifici e alle risorse di sistema disponibili.
export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
-
Ottieni le informazioni sulla connessione al cluster.
Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/
. -
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.
-
Scegli Visualizza le informazioni sul client.
-
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 ambiente
BOOTSTRAP_SERVER
, come illustrato nel comando seguente. Sostituire<bootstrap-server-string>
con il valore effettivo della stringa di connessione.export BOOTSTRAP_SERVER=
<bootstrap-server-string>
-
Eseguite 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 ottenete un
NoSuchFileException
client.properties
file, assicuratevi che questo file esista nella directory di lavoro corrente all'interno della cartella bin di Kafka.Nota
Se preferite non impostare la variabile di
CLASSPATH
ambiente per l'intera sessione, potete in alternativa aggiungere la variabile come prefisso a ogni comando di 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 -
(Facoltativo) Verificate che l'argomento sia stato creato correttamente.
-
Se il comando ha esito positivo, dovrebbe apparire il seguente messaggio:
Created topic MSKTutorialTopic.
-
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 ha esito negativo o si verifica un errore, consulta Risolvi i problemi del tuo cluster Amazon MSK per informazioni sulla risoluzione dei problemi.
-
-
(Facoltativo) Se desideri mantenere le variabili di ambiente per i passaggi successivi di questo tutorial, salta questo passaggio. Altrimenti, potete annullare l'impostazione delle variabili, come illustrato nell'esempio seguente.
unset KAFKA_VERSION KAFKA_ROOT BOOTSTRAP_SERVER CLASSPATH KAFKA_HEAP_OPTS
Fase successiva
Passaggio 5: produzione e utilizzo di dati