Apache Kafka è una piattaforma di streaming distribuita sviluppata da Apache Software Foundation e scritta in Java e Scala. Apache Kafka è stato originariamente sviluppato da LinkedIn ed è stato open source nel 2011.
Apache Kafka viene utilizzato per creare una pipeline di dati in streaming in tempo reale che acquisisce dati in modo affidabile tra il sistema e le applicazioni. Fornisce un'elaborazione dei dati unificata, ad alta velocità effettiva e a bassa latenza in tempo reale.
In questo tutorial, ti mostreremo come installare e configurare passo dopo passo Apache Kafka su Ubuntu 18.04. Questa guida tratterà l'installazione e la configurazione di Apache Kafka e Apache Zookeeper.
Prerequisiti
- Ubuntu 18.04
- Privilegi di root
Cosa faremo?
- Installa Java OpenJDK 8
- Installa Apache Zookeeper
- Scarica e configura Apache Kafka
- Configura Apache Kafka e Zookeeper come servizio
- Test
Passaggio 1 - Installa Java OpenJDK 8
Apache Kafka è stato scritto in Java e Scala, quindi è necessario installare java sul server.
Prima di installare qualsiasi pacchetto, aggiorna il repository e aggiorna tutti i pacchetti.
sudo apt update
sudo apt upgrade
Ora installa Java OpenJDK 8 dal repository di Ubuntu usando il comando apt di seguito.
sudo apt install openjdk-8-jdk -y
Al termine dell'installazione, controlla la versione java installata.
java -version
Ora vedrai java OpenJDK 8 installato su Ubuntu 18.04.
Passaggio 2:installazione di Apache Zookeeper
Apache Kafka utilizza zookeeper per l'elezione del controller, l'appartenenza al cluster e la configurazione degli argomenti. Zookeeper è un servizio distribuito di configurazione e sincronizzazione.
In questo passaggio, installeremo Zookeeper dal repository di Ubuntu.
Esegui il comando apt di seguito.
sudo apt install zookeeperd -y
Attendi il completamento dell'installazione.
Fase 3:scarica e configura Apache Kafka
In questo passaggio installeremo Apache Kafka utilizzando i file binari che possono essere scaricati dal sito Web di Kafka. Installeremo e configureremo Apache Kafka e lo eseguiremo come utente non root.
Aggiungi un nuovo utente chiamato 'kafka'.
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
Ora vai nella directory '/opt' e scarica i file binari di Apache Kafka usando wget.
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Ora crea una nuova directory kafka.
mkdir -p /opt/kafka
Estrai il file kafka_*.tar.gz nella directory 'kafka' e cambia il proprietario della directory nell'utente e nel gruppo 'kafka'.
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
sudo chown -R kafka:kafka /opt/kafka
Ora accedi all'utente 'kafka' e modifica la configurazione server.properties.
su - kafka
vim config/server.properties
Incolla la seguente configurazione alla fine della riga.
delete.topic.enable = true
Salva ed esci.
La configurazione di Apache Kafka è stata completata.
Fase 4 - Configura Apache Kafka e Zookeeper come servizi
In questo passaggio, configureremo Apache Kafka come servizio e configureremo la configurazione del servizio doganale per Zookeeper.
Vai alla directory '/lib/systemd/system' e crea un nuovo file di servizio 'zookeeper.service'.
cd /lib/systemd/system/
vim zookeeper.service
Incolla la configurazione qui sotto.
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Salva ed esci.
Ora crea il file di servizio Apache Kafka 'kafka.service'.
vim kafka.service
Incolla la configurazione qui sotto.
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties' ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Salva ed esci.
Ricarica la configurazione del gestore di sistema.
systemctl daemon-reload
Ora avvia i servizi Apache Zookeeper e Apache Kafka.
systemctl start zookeeper
systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
Il guardiano dello zoo Apache e Kafka sono operativi.
Zookeeper in esecuzione sotto la porta "2181" e Kafka sulla porta "9092", controllalo utilizzando il comando netstat di seguito.
netstat -plntu
Fase 5 - Test di Apache Kafka
Accedi all'utente 'kafka' e vai alla directory 'bin/'.
su - kafka
cd bin/
Ora crea un nuovo argomento chiamato 'HakaseTesting' usando il file eseguibile 'kafka-topics.sh'.
./kafka-topics.sh --create --zookeeper localhost:2181 \
--replication-factor 1 --partitions 1 \
--topic HakaseTesting
Ed esegui 'kafka-console-producer.sh' con l'argomento 'HakaseTesting'.
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
Ora apri un nuovo terminale e accedi al server, quindi accedi all'utente 'kafka'.
Esegui "kafka-console-consumer.sh" per l'argomento "HakaseTesting".
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
E quando digiti qualsiasi input dalla shell 'kafka-console-producer.sh', otterrai lo stesso risultato sulla shell 'kafka-console-consumer.sh'.
L'installazione e la configurazione di Apache Kafka su Ubuntu 18.04 sono state completate con successo.