Įdiekite „Apache Kafka“ naudodami „Docker Compose“.

Idiekite Apache Kafka Naudodami Docker Compose



„Docker“ yra nemokama atvirojo kodo konteinerių rinkimo programinė įranga, kuri visiškai pakeitė kūrėjų pakavimo ir diegimo programas. „Docker“ leidžia supakuoti programą ir visas reikalingas priklausomybes į vieną objektą. Tai reiškia, kad galime platinti paketą, o aplinka gali būti atkartota beveik kiekviename įrenginyje be nesuderinamų ar trūkstamų paketų.

Šioje pamokoje sužinosime, kaip galime įdiegti „Apache Kafka“ klasterį naudodami doką. Tai leidžia mums naudoti pateiktą dokerio vaizdą, kad greitai sukurtume Kafka klasterį beveik bet kurioje aplinkoje.

Pradėkime nuo pagrindų ir aptarkime, kas yra Kafka.





Kas yra Apache Kafka?

„Apache Kafka“ yra nemokama atvirojo kodo, labai keičiamo dydžio, paskirstyta ir gedimams atspari pranešimų siuntimo ir prenumeratos sistema. Jis skirtas apdoroti didelės apimties, didelio pralaidumo ir realaus laiko duomenų srautą, todėl tinka daugeliui naudojimo atvejų, įskaitant žurnalų agregavimą, realiojo laiko analizę ir įvykiais pagrįstą architektūrą.



„Kafka“ yra pagrįsta paskirstyta architektūra, leidžiančia tvarkyti didelius duomenų kiekius keliuose serveriuose. Jis naudoja publikavimo ir prenumeratos modelį, kai gamintojai siunčia pranešimus temoms, o vartotojai jas užsiprenumeruoja, kad gautų. Tai leidžia atsieti ryšį tarp gamintojų ir vartotojų, užtikrinant didelį mastelio keitimą ir lankstumą.



Kas yra „Docker Compose“.

„Docker Compose“ reiškia „Docker“ papildinį arba įrankį, skirtą kelių sudėtinių rodinių programoms apibrėžti ir paleisti. „Docker“ sudaro mums galimybę apibrėžti konteinerio konfigūraciją YAML faile. Konfigūracijos faile yra konteinerio specifikacijos, pvz., paslaugos, tinklai ir tomai, kurių reikia programai.





Naudodami komandą docker-compose, galime sukurti ir paleisti kelis konteinerius naudodami vieną komandą.

„Docker“ ir „Docker Compose“ diegimas

Pirmas žingsnis yra įsitikinti, kad įdiegėte doką vietiniame kompiuteryje. Norėdami sužinoti daugiau, galite peržiūrėti šiuos išteklius:



  • https://linuxhint.com/install_configure_docker_ubuntu/
  • https://linuxhint.com/install-docker-debian/
  • https://linuxhint.com/install_docker_debian_10/
  • https://linuxhint.com/install-docker-ubuntu-22-04/
  • https://linuxhint.com/install-docker-on-pop_os/
  • https://linuxhint.com/how-to-install-docker-desktop-windows/
  • https://linuxhint.com/install-use-docker-centos-8/
  • https://linuxhint.com/install_docker_on_raspbian_os/

Rašant šią mokymo programą, norint įdiegti „Docker Compose“, reikia įdiegti „Docker“ darbalaukį tiksliniame kompiuteryje. Todėl „Docker Compose“ diegimas kaip atskiras įrenginys yra nebenaudojamas.

Įdiegę „Docker“, galime sukonfigūruoti YAML failą. Šiame faile yra visa informacija, kurios mums reikia norint sukurti Kafka klasterį naudojant doko konteinerį.

„Docker-Compose.YAML“ nustatymas

Sukurkite docker-compose.yaml ir redaguokite naudodami mėgstamą teksto rengyklę:

$ touch docker-compose.yaml
$ vim docker-compose.yaml

Tada pridėkite doko konfigūracijos failą, kaip parodyta toliau:

versija : '3'
paslaugos :
zoologijos sodo prižiūrėtojas :
vaizdas : bitnami / zoologijos sodo prižiūrėtojas : 3.8
prievadai :
- '2181:2181'
apimtis :
- 'zookeeper_data:/bitnami'
aplinką :
- ALLOW_ANONYMOUS_LOGIN = taip
kafka :
vaizdas : dokininkas. tai / bitnami / kafka : 3.3
prievadai :
- '9092:9092'
apimtis :
- 'kafka_data:/bitnami'
aplinką :
- KAFKA_CFG_ZOOKEEPER_CONNECT = zoologijos sodo prižiūrėtojas : 2181
- ALLOW_PLAINTEXT_LISTENER = taip
priklauso nuo :
- zoologijos sodo prižiūrėtojas
apimtis :
zoologijos sodo prižiūrėtojo_duomenys :
vairuotojas : vietinis
kafka_data :
vairuotojas : vietinis

Docker failo pavyzdys nustato Zookeeper ir Kafka klasterį, kur Kafka klasteris yra prijungtas prie Zookeeper tarnybos koordinavimui. Failas taip pat sukonfigūruoja kiekvienos paslaugos prievadus ir aplinkos kintamuosius, kad būtų galima susisiekti ir pasiekti paslaugas.

Taip pat sukonfigūravome įvardytus tomus, kad paslaugų duomenys išliktų, net jei konteineriai paleidžiami iš naujo arba sukuriami iš naujo.

Suskirstykime ankstesnį failą į paprastus skyrius:

Pradedame nuo Zookeeper paslaugos naudodami bitnami/zookeeper:3.8 vaizdą. Tada šis vaizdas susieja pagrindinio kompiuterio 2181 prievadą su konteinerio 2181 prievadu. Taip pat nustatėme aplinkos kintamąjį ALLOW_ANONYMOUS_LOGIN į „taip“. Galiausiai nustatome tūrį, kuriame paslauga saugo duomenis, kaip zookeeper_data volume.

Antrasis blokas apibrėžia Kafka paslaugos nustatymo detales. Šiuo atveju naudojame docker.io/bitnami/kafka:3.3 vaizdą, kuris susieja pagrindinio kompiuterio prievadą 9092 su konteinerio prievadu 9092. Panašiai apibrėžiame aplinkos kintamąjį KAFKA_CFG_ZOOKEEPER_CONNECT ir nustatome jo reikšmę į Zookeeper adresą, kaip susietą su 2181 prievadas. Antrasis aplinkos kintamasis, kurį apibrėžiame šiame skyriuje, yra aplinkos kintamasis ALLOW_PLAINTEXT_LISTENER. Nustačius šio aplinkos kintamojo reikšmę „taip“, į Kafkos klasterį galima patekti nesaugiai.

Galiausiai pateikiame tūrį, kuriame Kafka paslauga saugo savo duomenis.

Norėdami užtikrinti, kad dokeris sukonfigūruotų Zookeeper ir Kafka tomus, turime juos apibrėžti, kaip parodyta tomų skyriuje. Tai nustato zookeeper_data ir kafka_data apimtis. Abu tomai naudoja vietinę tvarkyklę, o tai reiškia, kad duomenys saugomi pagrindiniame kompiuteryje.

Štai jūs tai turite! Paprastas konfigūracijos failas, leidžiantis paprastais veiksmais susukti Kafka konteinerį naudojant dokerį.

Konteinerio paleidimas

Norėdami užtikrinti, kad dokas veikia, konteinerį galime paleisti iš YAML failo naudodami šią komandą:

$ sudo dokeris sudaryti

Komanda turėtų rasti YAML konfigūracijos failą ir paleisti konteinerį su nurodytomis reikšmėmis:

Išvada

Dabar sužinojote, kaip galite sukonfigūruoti ir paleisti „Apache Kafka“ iš dokerio kūrimo YAML konfigūracijos failo.