Kako instalirati Apache Kafka na Ubuntu 18.04

U ovom vodiču ćemo vam pokazati kako instalirati i postaviti Apache Kafku na a VPS koji pokreće Ubuntu 18.04.

Kafka ili Apache Kafka je distribuirani sistem za razmjenu poruka zasnovan na principu pub-sub (public-subscribe) modela. Omogućava nam objavljivanje i pretplatu na tok zapisa koji se mogu kategorizirati. To je neverovatno brzo, visoko skalabilan, tolerantan na greške Sistem je dizajniran za obradu velikih količina podataka u realnom vremenu. Apache Kafka se može koristiti i kao alternativa brokeru poruka, što nam omogućava da procesiramo / transformišemo tok zapisa. Kafka se može koristiti kao sistem za razmjenu poruka, ali u prilično neuporedivo velikoj mjeri. Sve u svemu, Apache Kafka je veoma moćan alat kada se pravilno koristi.

Preduvjeti

  • Server sa Ubuntu 18.04 sa najmanje 4GB memorije. Za potrebe ovog vodiča koristićemo jedan od naših Upravljani Ubuntu 18.04 VPSje
  • SSH pristup sa root privilegijama, ili pristup samom "root" korisniku

Korak 1: Prijavite se preko SSH i ažurirajte sistem

Prijavite se na svoj Ubuntu 18.04 VPS sa SSH kao root korisnik:

ssh [zaštićena e-poštom] _Address -p Port_number

Zamijenite "root" s korisnikom koji ima sudo povlastice ako je potrebno. Pored toga, zamenite „IP_Address“ i „Port_Number“ odgovarajućom IP adresom vašeg servera i SSH portom.

Kada se to uradi, možete provjeriti da li imate ispravnu Ubuntu verziju instaliranu na vašem poslužitelju sa sljedećom naredbom:

# lsb_release -a

Trebali biste dobiti ovaj izlaz:

ID distributera: Ubuntu Opis: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic

Zatim pokrenite sljedeću naredbu kako biste bili sigurni da su svi instalirani paketi na poslužitelju ažurirani na njihove najnovije dostupne verzije:

# apt update && apt upgrade

Korak 2: Dodajte korisnika sistema

Kreiramo novog korisnika pod nazivom 'kafka', nakon čega ćemo dodati novog korisnika kao sudoer.

# adduser kafka # usermod -aG sudo kafka

Korak 3: Instalirajte Java

Kafka je napisana u Javi, tako da je JVM potreban da bi se to postiglo. U ovom tutorijalu koristićemo OpenJDK 11, jer je to standardna verzija Java koja dolazi sa Ubuntuom od septembra 2018.

# apt install default-jre

Korak 4: Preuzmite Apache Kafka

Sada ćemo preuzeti Kafku, možete ići STRANICI i preuzmite najnoviju verziju ako je potrebno. Najnovija veza za preuzimanje u vrijeme pisanja je već unesena u primjeru za vas.

# su - kafka
wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz

Sada kada je Apache Kafka binarni program preuzet, sada ga moramo izdvojiti u našem Kafka korisničkom direktoriju

$ tar -xzvf kafka.tgz - traka 1

Korak 5: Konfigurišite Apache Kafku

Vreme je da konfigurišete Apache Kafku. Po defaultu, nije nam dopušteno brisati teme, kategorije ili grupe u kojima se poruke mogu objavljivati. Da biste promenili ovo ponašanje, moramo urediti podrazumevanu konfiguraciju.

$ nano ~ / config / server.properties

Dodajte sljedeći redak u posljednji redak konfiguracijske datoteke.

delete.topic.enable = true

Korak 6: Kreirajte datoteku sistemske jedinice za Apache Kafka

Za vođenje Kafke potreban je Zookeeper. Kafka koristi zookeeper, pa ćemo prvo morati da pokrenemo instancu Zookeeper servera pre nego što pokrenemo Apache Kafka servis. U ovom tutorialu, koristićemo pogodnu skriptu upakiranu sa Kafkom da bismo dobili brzu i prljavu jednocifrenu Zookeeper instancu.

Otvorite novu datoteku na datotečnoj putanji /etc/systemd/system/zookeeper.servicei otvorite ga u željenom uređivaču teksta. Koristićemo nano za ovaj tutorijal.

$ sudo nano /etc/systemd/system/zookeeper.service

Uključite sledeće linije:

[Unit] Requires = network.target remote-fs.target Poslije = network.target remote-fs.target [Service] Type = simple User = kafka ExecStart = / home / kafka / bin / zookeeper-server-start.sh / home /kafka/config/zookeeper.properties ExecStop = / home / kafka / bin / zookeeper-server-stop.sh Ponovo pokreni = on-abnormal [Install] WantedBy = multi-user.target

Sada kreiramo datoteku sistemske jedinice za kafku na filepath-u /etc/systemd/system/kafka.service:

$ sudo nano /etc/systemd/system/kafka.service

Zalijepite sljedeće retke u datoteku:

[Jedinica] Zahtjevi = zookeeper.service Nakon = zookeeper.service [Service] Tip = jednostavno Korisnik = kafka ExecStart = / bin / sh -c '/home/kafka/bin/kafka-server-start.sh / home / kafka / config / server.properties> /home/kafka/kafka.log 2> & 1 'ExecStop = / home / kafka / bin / kafka-server-stop.sh Restart = on-abnormal [Install]

Nove sistemske jedinice su dodane, pa dozvolimo da se Apache Kafka automatski pokrene pri pokretanju, a zatim pokrene uslugu.

$ sudo systemctl omogućiti kafka $ sudo systemctl start kafka

Korak 7: Kreirajte temu

U ovom koraku kreirat ćemo temu pod nazivom “FirstTopic”, s jednom particijom i samo jednom replikom:

$ bin / kafka-topics.sh --create --zookeeper localhost: 2181 - faktor replikacije 1 - particije 1 --topic FirstTopic Kreirana tema "FirstTopic".

Vrijednost faktora replikacije opisuje koliko kopija podataka će biti kreirano. Radimo sa jednom instancom, tako da bi vrednost bila 1.

Vrijednost particija opisuje broj brokera između kojih želite podijeliti svoje podatke. Radimo sa jednim brokerom, tako da bi vrijednost bila 1.

Sada možete vidjeti kreiranu temu na Kafki pokretanjem naredbe liste tema:

$ bin / kafka-topics.sh --list --zookeeper localhost: 2181 FirstTopic

Korak 8: Slanje poruka koristeći Apache Kafka

Apache Kafka dolazi sa klijentom komandne linije koji će uzeti ulaz iz datoteke ili standardnog ulaza i poslati ga kao poruke u Kafka klaster. “Proizvođač” je proces koji je odgovoran za stavljanje podataka u našu Kafka službu. Po defaultu, Kafka šalje svaku liniju kao zasebnu poruku.

Hajde da pokrenemo proizvođača i onda ukucamo nekoliko poruka u konzolu za slanje serveru.

$ bin / kafka-console-producer.sh --broker-list localhost: 9092 --topic FirstTopic> Dobrodošli u kafku> Ovo je sadržaj naše prve teme>

Držite terminal otvoren i pređite na sledeći korak.

Korak 9: Koristite Apache Kafku kao potrošača

Apache Kafka takođe ima komandnu liniju za potrošača da čita podatke iz Kafke - to je tako da potrošač može koristiti Kafku za prikazivanje poruka u standardnom izlazu.

Izvedite sljedeću naredbu u novoj SSH sesiji.

$ bin / kafka-console-consumer.sh --bootstrap-server localhost: 9092 --topic testTopic - od početka Dobrodošli u kafku Ovo je sadržaj naše prve teme

To je to! Apache Kafka je uspješno instaliran i postavljen. Sada možemo upisati neke poruke na terminal proizvođača kao što je navedeno u prethodnom koraku. Poruke će odmah biti vidljive na našem potrošačkom terminalu.

Original članak

Ostavite odgovor