GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache Kafka su CentOS 8

Apache Kafka è una piattaforma di streaming distribuita. È utile per creare pipeline di dati in streaming in tempo reale per ottenere dati tra i sistemi o le applicazioni. Un'altra caratteristica utile sono le applicazioni di streaming in tempo reale che possono trasformare flussi di dati o reagire su un flusso di dati.

Questo tutorial ti aiuterà a installare i sistemi Linux Apache Kafka CentOS 8 o RHEL 8.

Prerequisiti

  • Si consiglia al sistema appena installato di seguire la configurazione iniziale del server.
  • Accesso shell al sistema CentOS 8 con account privilegi sudo.

Fase 1 – Installa Java

Devi avere Java installato sul tuo sistema per eseguire Apache Kafka. Puoi installare OpenJDK sulla tua macchina eseguendo il comando seguente. Inoltre, installa altri strumenti richiesti.

sudo dnf install java-11-openjdk wget vim

Fase 2:scarica Apache Kafka

Scarica i file binari di Apache Kafka dal suo sito Web di download ufficiale. Puoi anche selezionare qualsiasi mirror nelle vicinanze da scaricare.

wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz

Quindi estrai il file di archivio

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

Passaggio 3:installazione dei file di unità di sistema Kafka

CentOS 8 usa systemd per gestire lo stato dei suoi servizi. Quindi abbiamo bisogno di creare file di unità systemd per il servizio Zookeeper e Kafka. Il che ci aiuta a gestire i servizi Kafka per avviare/arrestare.

Innanzitutto, crea il file dell'unità systemd per Zookeeper con il comando seguente:

vim /etc/systemd/system/zookeeper.service

Aggiungi sotto contnet:

[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/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Salva il file e chiudilo.

Quindi, per creare un file di unità di sistema Kafka utilizzando il comando seguente:

vim /etc/systemd/system/kafka.service

Aggiungi il contenuto di seguito. Assicurati di impostare il corretto JAVA_HOME percorso come da 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/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Salva il file e chiudilo.

Ricarica il demone systemd per applicare le modifiche.

systemctl daemon-reload

Fase 4:avvia Kafka Server

Kafka ha richiesto ZooKeeper, quindi prima avvia un server ZooKeeper sul tuo sistema. Puoi utilizzare lo script disponibile con Kafka per avviare un'istanza ZooKeeper a nodo singolo.

sudo systemctl start zookeeper

Ora avvia il server Kafka e visualizza lo stato di esecuzione:

sudo systemctl start kafka
sudo systemctl status kafka

Tutto fatto. Hai installato correttamente Kafka sul tuo CentOS 8. La parte successiva di questo tutorial ti aiuterà a creare argomenti nel cluster Kafka e a lavorare con il produttore Kafka e il servizio consumer.

Fase 5 – Creazione di argomenti in Apache Kafka

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

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

Created topic testTopic.

Il fattore di replica descrive quante copie di dati verranno create. Poiché stiamo eseguendo con una singola istanza, mantieni questo valore 1.

Imposta le opzioni delle partizioni 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.

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 --zookeeper localhost:2181

testTopic
KafkaonCentOS8
TutorialKafkaInstallCentOS8

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

Fase 6:produttore e consumatore di Apache 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
>

Ora apri un nuovo terminale per eseguire il processo consumer di Apache Kafka. Kafka fornisce anche un consumer della riga di comando per leggere i dati dal cluster Kafka e visualizzare i messaggi nello standard output.

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

Welcome to kafka
This is my first topic

L'opzione –from-beginning viene utilizzata per leggere i messaggi dall'inizio dell'argomento selezionato. Puoi saltare questa opzione per leggere solo gli ultimi messaggi.

Ad esempio, esegui il produttore e il consumatore Kafka nei terminali separati. 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

Hai installato e configurato correttamente il servizio Kafka sulla macchina Linux CentOS 8.


Cent OS
  1. Come installare Apache Cassandra su CentOS 8

  2. Come installare Apache su CentOS 7

  3. Come installare Apache Maven su CentOS 7

  4. Come installare Apache Cassandra su CentOS 7

  5. Come installare Apache Tomcat 8 su CentOS

Come installare elgg su CentOS 8

Come installare Apache ServiceMix su CentOS 8

Come installare Apache SVN su CentOS 7

Come installare Mod_Security Apache su CentOS 6

Come installare Apache Kafka su CentOS 8

Come installare Apache Kafka in CentOS/RHEL 7