Installazione di Apache Kafka su CentOS 7

In questo tutorial andremo a descrivere come installare Apache Kafka su ambiente CentOS 7.

Consideriamo di partire da una macchina virtuale preinstallata CentOS 7 ( qui l’articolo dell’installazione) ed aggiorniamola

yum update

Apache Kafka è una piattaforma open source scritta in Java e Scala, che permette in maniera ottimale e distribuita lo scambio di messaggi, con la particolarità rispetto ad altri sistemi nel mercato di gestire grandi flussi di dati scalando facilmente ed in maniera veloce.

Prerequisito fondamentale per il funzionamento del software Apache Kafka è l’installazione della JVM (Java virtual Machine)

yum list | grep jdk

scegliamo la versione 8 di Java

yum install java-1.8.0-openjdk

scarichiamo al sito ufficiale l’ultima versione di Apache Kafka ( al momento della redazione di questo articolo 2.1.0 )

yum install vim wget

cd

wget http://apache.panu.it/kafka/2.1.0/kafka_2.11-2.1.0.tgz

estraiamo il file compresso

tar -xvzf kafka_2.11-2.1.0.tgz

posizioniamo il tutto sotto il filesystem opt ( a scelta )

mv kafka_2.11-2.1.0 kafka

mv kafka/ /opt/

E’ possibile impostare anche la dimensione della RAM da fornire alla JVM

vim /opt/kafka/bin/kafka-server-start.sh

export KAFKA_HEAP_OPTS=”-Xmx1G -Xms1G”

il software Apache Kafka tra gli eseguibili presenti nella cartella binha il componente Apache Zookeeper,  utile per gestire le configurazioni o possibili configurazioni in cluster, dal file di configurazione possiamo impostare la dimensione della RAM

vim /opt/kafka/bin/zookeeper-server-start.sh

export KAFKA_HEAP_OPTS=”-Xmx512M -Xms512M”

Per l’esecuzione e lo spegnimento di Zookeeper e Kafka in maniera automatica all’avvio è necessario creare dei servizi su systemd

vim /etc/systemd/system/zookeeper.service

[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

 

vim /etc/systemd/system/kafka.service

[Unit]
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
User=kafka
ExecStart=/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

Per l’esecuzione di Apache Kafka e Apache Zookeeper, scegliamo di aggiungere un utente nello specifico kafka anzicchè root

useradd kafka

password kafka

impostiamo i permessi sulla cartella Apache Kafka in modo da far eseguire il software all’utente kafka

chown -R kafka:kafka /opt/kafka/

Abilitiamo all’avvio l’esecuzione dei due componenti

systemctl enable kafka

systemctl enable zookeeper

Per verificare il funzionamento dei componenti e troubleshooting, grazie alla libreria log4j è possibile avere granularità nella scelta dei log

vim /opt/kafka/config/log4j.properties

di default è possibile trovarli al percorso

cd /opt/kafka/log

Potrebbero interessarti anche...