Come installare Apache Kafka su Ubuntu 22.04

7 giu 2022 4 min di lettura
Come installare Apache Kafka su Ubuntu 22.04
Indice dei contenuti

Introduzione

Apache Kafka è una piattaforma di streaming di eventi distribuita open source sviluppata dalla Apache Software Foundation. Questo è scritto nei linguaggi di programmazione Scala e Java. Puoi installare Kafka su qualsiasi piattaforma che supporti il ​​linguaggio di programmazione Java.

Questo tutorial fornisce istruzioni dettagliate per installare Apache Kafka sul sistema Linux Ubuntu 22.04 LTS.

Prerequisiti

Devi disporre dell'accesso con account privilegiato sudo al sistema Linux Ubuntu 22.04.

Se desideri installare Apache Kafka su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh root@IP_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh nome_utente@IP_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Installare Java

Possiamo eseguire il server Apache Kafka su sistemi che supportano Java. Quindi assicurati di avere Java installato sul tuo sistema Ubuntu.

Usa i seguenti comandi per installare OpenJDK sul tuo sistema Ubuntu dai repository ufficiali:

sudo apt update  
sudo apt install default-jdk 

Verificare la versione Java attiva corrente:

java --version 
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Scaricare l'ultimo Apache Kafka

Puoi scaricare gli ultimi file binari di Apache Kafka dalla sua pagina di download ufficiale. In alternativa puoi scaricare Kafka 3.2.0 con il comando seguente.

wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz 

Quindi estrai il file di archivio scaricato e posizionalo nella directory /usr/local/kafka:

tar xzf kafka_2.13-3.2.0.tgz 
sudo mv kafka_2.13-3.2.0 /usr/local/kafka 

Creare script di avvio di Systemd

Ora, crea file di unità systemd per i servizi Zookeeper e Kafka. Questo ti aiuterà ad avviare/arrestare il servizio Kafka in modo semplice.

Innanzitutto, crea un file di unità systemd per Zookeeper:

sudo nano /etc/systemd/system/zookeeper.service 

E aggiungi il seguente contenuto:

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Salva il file e chiudilo.

Quindi, crea un file di unità systemd per il servizio Kafka:

sudo nano /etc/systemd/system/kafka.service 

Aggiungi il contenuto di seguito. Assicurati di impostare il percorso JAVA_HOME corretto secondo Java installato sul tuo sistema:

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Salva il file e chiudi.

Ricarica il demone systemd per applicare nuove modifiche:

sudo systemctl daemon-reload 

Questo ricaricherà tutti i file systemd nell'ambiente di sistema.

Avviare Zookeeper e i servizi Kafka

Iniziamo entrambi i servizi uno per uno. Innanzitutto, devi avviare il servizio ZooKeeper e quindi avviare Kafka. Utilizzare il comando systemctl per avviare un'istanza ZooKeeper a nodo singolo.

sudo systemctl start zookeeper 
sudo systemctl start kafka 

Verifica entrambi gli stati dei servizi:

sudo systemctl status zookeeper 
sudo systemctl status kafka 

Questo è tutto. Hai installato con successo il server Apache Kafka sul sistema Ubuntu 22.04. Successivamente, creeremo argomenti nel server Kafka.

Creare un argomento in Kafka

Kafka fornisce più script di shell predefiniti per lavorarci. Innanzitutto, crea un argomento denominato "testTopic" con una singola partizione con un'unica replica:

cd /usr/local/kafka 
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic 
Created topic testTopic.

Qui:

  • Usa l'opzione --create per creare un nuovo argomento
  • L'opzione --replication-factor descrive quante copie di dati verranno create. Poiché stiamo eseguendo con una singola istanza, mantieni questo valore 1.
  • Imposta le opzioni --partitions come il numero di broker tra i quali desideri che i tuoi dati vengano suddivisi. Poiché stiamo correndo con un unico broker, mantieni questo valore 1.
  • L'opzione --topic definisce il nome dell'argomento

Puoi creare più argomenti eseguendo lo stesso comando di cui sopra. Successivamente, puoi vedere gli argomenti creati su Kafka eseguendo il comando seguente:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092 

In alternativa, invece di creare argomenti manualmente, puoi anche configurare i tuoi broker per creare automaticamente argomenti quando viene pubblicato un argomento inesistente.

Inviare e ricevere messaggi in Kafka

Il "produttore" è il processo responsabile dell'inserimento dei dati nel nostro Kafka. Kafka viene fornito con un client della riga di comando che prenderà l'input da un file o dallo standard input e lo invierà come messaggi al cluster Kafka. Il Kafka predefinito invia ogni riga come messaggio separato.

Eseguiamo il produttore e quindi digitiamo alcuni messaggi nella console da inviare al server:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic 
>Welcome to kafka
>This is my first topic
>

È possibile uscire da questo comando o mantenere in esecuzione questo terminale per ulteriori test. Ora apri un nuovo terminale per il processo del consumatore Kafka nel passaggio successivo.

Kafka ha anche un consumer della riga di comando per leggere i dati dal cluster Kafka e visualizzare i messaggi sull'output standard.

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning 
Welcome to kafka
This is my first topic

Ora, se hai ancora in esecuzione il produttore Kafka in un altro terminale. Basta digitare del testo su quel terminale del produttore. sarà immediatamente visibile sul terminale del consumatore. Guarda lo screenshot qui sotto del produttore e consumatore Kafka al lavoro:

Conclusione

Questo tutorial ti ha aiutato a installare e configurare il server Apache Kafka su un sistema Linux Ubuntu 22.04. Inoltre, hai imparato a creare un nuovo argomento nel server Kafka ed eseguire un processo di produzione e consumo di esempio con Apache Kafka.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.