Apache Kafka este un sistem de mesagerie scalabil și de mare capacitate, capabil să manipuleze eficient o cantitate uriașă de date.
Puteți să implementați Kafka pe un server sau să construiți un cluster Kafka distribuit pentru o performanță mai mare. Ca un început, acest articol explică cum se instalează Apache Kafka pe o singură instanță a serverului Vultr CentOS 7.
Cerințe preliminare:
Înainte de a merge mai departe, ar trebui să:
- Implementați o instanță a serverului Vultr CentOS 7. În funcție de nevoile dvs., poate fi necesar să creșteți memoria disponibilă.
- Utilizați un utilizator sudo pentru a vă autentifica de la terminalul SSH.
Pasul 1: Actualizați sistemul CentOS 7
Utilizați comanda de mai jos pentru a actualiza sistemul dvs. la cel mai recent statut stabil:
sudo yum update -y && sudo reboot
După terminarea repornirii, utilizați același utilizator sudo pentru a vă autentifica din nou.
Pasul 2: Instalează OpenJDK Runtime
Trebuie să configurați o mașină virtuală Java pe sistemul dvs. înainte de a putea rula Apache Kafka corect. Aici, puteți instala OpenJDK Runtime Environment 1.8.0 folosind YUM:
sudo yum install java-1.8.0-openjdk.x86_64
Validați instalarea cu:
java -version
Produsul ar trebui să semene cu:
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
De asemenea, trebuie să configurați variabilele de mediu „JAVA_HOME” și „JRE_HOME”:
sudo vi /etc/profile
Adăugați următoarele linii la conținutul original al fișierului:
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export JRE_HOME=/usr/lib/jvm/jre
Salvează și închide:
:wq
Reîncărcați profilul pentru a face efectele modificărilor:
source /etc/profile
Pasul 3: Descărcați Apache Kafka
Descărcați cea mai recentă versiune stabilă de Apache Kafka de pe site-ul oficial. În momentul scrierii, este 0.9.0.1.
cd ~
wget http://www-us.apache.org/dist/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
Decuplați arhiva într-o locație preferată, cum ar fi /opt:
tar -xvf kafka_2.11-0.9.0.1.tgz
sudo mv kafka_2.11-0.9.0.1 /opt
Pasul 4: Porniți și testați Apache Kafka
În acest moment, Apache Kafka este disponibil pe sistemul tău. Să-i dăm un test drive.
4.1: Intrați în directorul Kafka
cd /opt/kafka_2.11-0.9.0.1
4.2: Porniți serverul Zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
4.3: Modificați configurația serverului dvs. Kafka
vi bin/kafka-server-start.sh
Reglați utilizarea memoriei în funcție de parametrii dvs. specifici de sistem. De exemplu, dacă utilizați o instanță a serverului Vultr cu memorie 768 MB în mediul de testare, trebuie să localizați următoarea linie:
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
Înlocuiți-l cu:
export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
Salvați o renunțare:
:wq
4.4: Porniți serverul Kafka
bin/kafka-server-start.sh config/server.properties
Dacă totul a decurs cu succes, veți vedea mai multe mesaje despre starea serverului Kafka, iar ultimul va citi:
INFO [Kafka Server 0], started (kafka.server.KafkaServer)
Aceasta înseamnă că ați pornit serverul Kafka.
4.5: Creați un subiect „test” într-o nouă conexiune SSH
Deschideți o nouă conexiune SSH, utilizați următoarele comenzi pentru a crea un subiect "test":
cd /opt/kafka_2.11-0.9.0.1
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Vă puteți vizualiza subiectele cu următoarea comandă:
bin/kafka-topics.sh --list --zookeeper localhost:2181
În cazul nostru, rezultatul va citi:
test
4.6: Produceți mesaje folosind subiectul „test”
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Folosind comanda de mai sus, puteți introduce orice număr de mesaje după cum doriți, cum ar fi:
Welcome aboard!
Bonjour!
Dacă primiți o eroare similară cu "WARN Error while fetching metadata with correlation id"introducerea unui mesaj, va trebui să actualizați server.propertiesfișierul cu următoarele informații:
port = 9092
advertised.host.name = localhost
4.7: Afișați mesaje
Deschideți o a treia conexiune SSH, apoi executați următoarele comenzi:
cd /opt/kafka_2.11-0.9.0.1
bin/kafka-console-consumer.sh --zookeeper localhost:9092 --topic test --from-beginning
Ta-da! Mesajele pe care le-ați produs anterior vor fi afișate în a treia conexiune SSH. Desigur, dacă introduceți mai multe mesaje din a doua conexiune SSH acum, le veți vedea imediat pe a treia conexiune SSH.
În cele din urmă, puteți apăsa Ctrl + C pe fiecare conexiune SSH pentru a opri aceste scripturi.
Asta e. Puteți afla mai multe despre Apache Kafka pe site-ul oficial. A se distra!