GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare Apache Kafka su Rocky Linux 8

Apache Kafka è un'applicazione software open source per l'elaborazione di flussi e broker di messaggi che consente di elaborare flussi di dati tramite una piattaforma di streaming distribuita. Funziona come un sistema di messaggistica tra il mittente e il destinatario. Apache Kafka si basa su un'architettura distribuita, quindi offre un'elevata tolleranza ai guasti e capacità di scalabilità. È stato originariamente sviluppato da LinkedIn, ma ora è un progetto di Apache Software Foundation. Apache Kafka fornisce un'interfaccia per leggere e scrivere dati nei cluster Kafka o per importare ed esportare dati da e verso sistemi di terze parti.

In questo post spiegheremo come installare Apache Kafka su Rocky Linux 8.

Prerequisiti

  • Un server che esegue RockyLinux 8 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Rocky Linux 8 come sistema operativo con almeno 2 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Una volta effettuato l'accesso al server, eseguire il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Fase 2 – Installa Java

Apache Kafka è un'applicazione basata su Java, quindi Java deve essere installato sul tuo server. Se non è installato, puoi installarlo usando il seguente comando:

dnf install java-11-openjdk-devel -y

Una volta installato Java, verifica l'installazione di Java utilizzando il seguente comando:

java --version

Otterrai la versione Java nel seguente output:

openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Fase 3 – Installa Apache Kafka su Rocky Linux 8

Per prima cosa, vai al sito Web ufficiale di Apache e scarica l'ultima versione di Apache Kafka usando il comando wget:

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

Una volta completato il download, estrai il file scaricato utilizzando il seguente comando:

tar -xvzf kafka_2.13-3.0.0.tgz

Una volta estratto il file scaricato, sposta la directory estratta nella directory /usr/local:

mv kafka_2.13-3.0.0/ /usr/local/kafka

Una volta terminato, puoi procedere al passaggio successivo.

Fase 4:crea un file di servizio Systemd per Zookeeper e Kafka

Per l'ambiente di produzione, si consiglia di creare un file di servizio systemd per eseguire Zookeeper e Kafka in background.

Innanzitutto, crea un file di servizio systemd per Zookeeper con il seguente comando:

nano /etc/systemd/system/zookeeper.service

Aggiungi le seguenti righe:

[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 e chiudi il file, quindi crea un file di servizio systemd per Kafka utilizzando il seguente comando:

nano /etc/systemd/system/kafka.service

Aggiungi le seguenti righe:

[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 e chiudi il file, quindi ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia entrambi i servizi Zookeeper e Kafka e consenti loro di avviarsi al riavvio del sistema:

systemctl start zookeeper
systemctl start kafka
systemctl enable zookeeper
systemctl enable kafka

Puoi anche controllare entrambi i servizi usando il seguente comando:

systemctl status zookeeper kafka

Otterrai il seguente output:

● zookeeper.service - Apache Zookeeper server
   Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 07:51:56 UTC; 42s ago
     Docs: http://zookeeper.apache.org
 Main PID: 33802 (java)
    Tasks: 28 (limit: 11411)
   Memory: 91.4M
   CGroup: /system.slice/zookeeper.service
           └─33802 java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCIn>

Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,676] INFO zookeeper.snapshot.compression.method = CHECKED (org.apache.zookeeper.>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,676] INFO Snapshotting: 0x0 to /tmp/zookeeper/version-2/snapshot.0 (org.apache.z>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,679] INFO Snapshot loaded in 22 ms, highest zxid is 0x0, digest is 1371985504 (o>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,679] INFO Snapshotting: 0x0 to /tmp/zookeeper/version-2/snapshot.0 (org.apache.z>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,683] INFO Snapshot taken in 3 ms (org.apache.zookeeper.server.ZooKeeperServer)
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,703] INFO zookeeper.request_throttler.shutdownTimeout = 10000 (org.apache.zookee>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,741] INFO PrepRequestProcessor (sid:0) started, reconfigEnabled=false (org.apach>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,764] INFO Using checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,765] INFO ZooKeeper audit is disabled. (org.apache.zookeeper.audit.ZKAuditProvid>
Oct 22 07:52:12 RockyLinux8 bash[33802]: [2021-10-22 07:52:12,102] INFO Creating new log file: log.1 (org.apache.zookeeper.server.persistence.>

● kafka.service - Apache Kafka Server
   Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 07:52:09 UTC; 29s ago
     Docs: http://kafka.apache.org/documentation.html
 Main PID: 34147 (java)
    Tasks: 69 (limit: 11411)
   Memory: 331.6M
   CGroup: /system.slice/kafka.service
           └─34147 /usr/lib/jvm/jre-11-openjdk/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancy>

Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,881] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeC>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,899] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Starting socket server>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,981] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Started data-plane acc>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,988] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Started socket server >
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka version: 3.0.0 (org.apache.kafka.common.utils.AppInfoParser)
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka commitId: 8cb0a5e9d3441962 (org.apache.kafka.common.utils.AppInf>
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka startTimeMs: 1634889134988 (org.apache.kafka.

Fase 5:crea un argomento su Kafka

Per testare Apache Kafka, dovrai creare almeno un argomento sul server.

Cambia la directory in Apache Kafka e crea un argomento di prova chiamato topic1 con il seguente comando:

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

Ora puoi verificare l'argomento creato utilizzando il seguente comando:

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

Otterrai il seguente output:

topic1

Kafka fornisce due API:Producer e Consumer. Il Produttore è responsabile della creazione degli eventi e il Consumatore li visualizza sullo schermo:

Innanzitutto, esegui il comando seguente per creare un evento denominato evento1 utilizzando il comando seguente:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic event1

Digita del testo che desideri trasmettere in streaming e visualizzare sul consumatore.

>Hi, this is my first event

Esempio di output:

[2021-10-22 07:58:05,318] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {event1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

Apri un altro terminale ed esegui il comando seguente per visualizzare i dati dell'evento generato in tempo reale:

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

Otterrai il seguente output:

Hi, this is my first event

Conclusione

Nella guida sopra, hai imparato come installare Apache Kafka su Rocky Linux 8. Per ulteriori informazioni, puoi visitare la pagina della documentazione di Apache Kafka. Inizia con Apache Kafka sull'hosting VPS da Atlantic.Net!


Linux
  1. Come installare RockyLinux 8.4

  2. Come installare Apache Cassandra su AlmaLinux / Rocky Linux 8

  3. Come installare Apache Kafka su CentOS 8

  4. Come installare Apache Maven su Rocky Linux/Alma Linux 8

  5. Come installare Python 3.10 su Rocky Linux 8

Come installare Apache su Almalinux 8 / Rocky Linux 8

Come installare Apache Kafka su Rocky Linux 8 o AlmaLinux

Come installare Docker CE su Rocky Linux 8

Come installare Anydesk su Rocky Linux 8

Come installare Apache Tomcat su Rocky Linux 8

Installa WonderCMS su Rocky Linux 8