Juurutage Apache Kafka koos Docker Compose'iga

Juurutage Apache Kafka Koos Docker Compose Iga



Docker on tasuta ja avatud lähtekoodiga konteineritarkvara, mis on täielikult muutnud seda, kuidas arendajad rakendusi pakendavad ja juurutavad. Docker võimaldab meil pakkida rakenduse ja kõik vajalikud sõltuvused ühte olemisse. See tähendab, et saame paketti levitada ja keskkonda saab replitseerida peaaegu igas masinas ilma konfliktsete või puuduvate pakettideta.

Selles õpetuses õpime, kuidas saame dokkerit kasutades juurutada Apache Kafka klastri. See võimaldab meil kasutada pakutavat dokkimispilti Kafka klastri kiireks üleskeeramiseks peaaegu igas keskkonnas.

Alustame põhitõdedest ja arutame, mis on Kafka.







Mis on Apache Kafka?

Apache Kafka on tasuta, avatud lähtekoodiga, hästi skaleeritav, hajutatud ja tõrkekindel avaldamis-tellimissõnumite süsteem. See on loodud käsitlema suure mahu, suure läbilaskevõime ja reaalajas andmevoogu, muutes selle sobivaks paljudeks kasutusjuhtudeks, sealhulgas logide koondamiseks, reaalajas analüütikaks ja sündmustepõhiseks arhitektuuriks.



Kafka põhineb hajutatud arhitektuuril, mis võimaldab tal käsitleda suuri andmemahtusid mitme serveri vahel. See kasutab avaldamise-tellimise mudelit, kus tootjad saadavad teemadele sõnumeid ja tarbijad tellivad need, et neid saada. See võimaldab eraldada sidet tootjate ja tarbijate vahel, pakkudes suurt mastaapsust ja paindlikkust.



Mis on Docker Compose

Dockeri koostamine viitab dockeri pistikprogrammile või tööriistale mitme konteineri rakenduste määratlemiseks ja käitamiseks. Docker koostab meid, et määratleda YAML-failis konteineri konfiguratsioon. Konfiguratsioonifail sisaldab konteineri spetsifikatsioone, nagu teenused, võrgud ja mahud, mida rakendus nõuab.





Docker-compose käsku kasutades saame luua ja käivitada mitu konteinerit ühe käsuga.

Dockeri ja Docker Compose'i installimine

Esimene samm on veenduda, et installisite doki oma kohalikku masinasse. Lisateabe saamiseks võite vaadata järgmisi ressursse.



  • 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/

Selle õpetuse kirjutamise seisuga nõuab dockeri koostamise installimine teie sihtmasinasse Dockeri töölaua installimist. Seetõttu on dokkide koostamise installimine eraldiseisva seadmena aegunud.

Kui oleme Dockeri installinud, saame YAML-faili konfigureerida. See fail sisaldab kõiki üksikasju, mida vajame Dockeri konteineri abil Kafka klastri loomiseks.

Docker-Compose.YAML seadistamine

Looge docker-compose.yaml ja redigeerige oma lemmiktekstiredaktoriga:

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

Järgmisena lisage doki konfiguratsioonifail, nagu on näidatud järgmiselt.

versioon : '3'
teenuseid :
loomaaiatalitaja :
pilt : bitnami / loomaaiatalitaja : 3.8
sadamad :
- '2181:2181'
mahud :
- 'zookeeper_data:/bitnami'
keskkond :
- ALLOW_ANONYMOUS_LOGIN = jah
kafka :
pilt : dokkija. see / bitnami / kafka : 3.3
sadamad :
- '9092:9092'
mahud :
- 'kafka_data:/bitnami'
keskkond :
- KAFKA_CFG_ZOOKEEPER_CONNECT = loomaaiatalitaja : 2181
- ALLOW_PLAINTEXT_LISTENER = jah
sõltub :
- loomaaiatalitaja
mahud :
loomaaiapidaja_andmed :
autojuht : kohalik
kafka_data :
autojuht : kohalik

Näidisdokeri fail seadistab Zookeeperi ja Kafka klastri, kus Kafka klaster on koordineerimiseks ühendatud teenusega Zookeeper. Samuti konfigureerib fail iga teenuse pordid ja keskkonnamuutujad, et võimaldada sidet ja juurdepääsu teenustele.

Seadistasime ka nimetatud mahud, et teenuste andmed säiliksid ka siis, kui konteinerid taaskäivitatakse või uuesti luuakse.

Jagame eelmise faili lihtsateks osadeks:

Alustame teenusega Zookeeper, kasutades pilti bitnami/zookeeper:3.8. Seejärel seostab see pilt hostmasina pordi 2181 konteineri pordiga 2181. Samuti määrasime keskkonnamuutuja ALLOW_ANONYMOUS_LOGIN väärtuseks 'jah'. Lõpuks määrame mahu, millele teenus andmeid salvestab, väärtuseks zookeeper_data volume.

Teine plokk määratleb Kafka teenuse seadistamise üksikasjad. Sel juhul kasutame pilti docker.io/bitnami/kafka:3.3, mis vastendab hosti pordi 9092 konteineri pordiga 9092. Samamoodi määratleme keskkonnamuutuja KAFKA_CFG_ZOOKEEPER_CONNECT ja määrame selle väärtuseks Zookeeperi aadress, mis on vastendatud port 2181. Teine keskkonnamuutuja, mille me selles jaotises määratleme, on keskkonnamuutuja ALLOW_PLAINTEXT_LISTENER. Selle keskkonnamuutuja väärtuse määramine „jah” võimaldab turvamata liiklust Kafka klastrisse.

Lõpuks anname välja mahu, millele Kafka teenus oma andmeid salvestab.

Tagamaks, et dokk konfigureerib Zookeeperi ja Kafka helitugevused, peame need määratlema nii, nagu on näidatud mahute jaotises. See seadistab mahud zookeeper_data ja kafka_data. Mõlemad köidud kasutavad kohalikku draiverit, mis tähendab, et andmed salvestatakse hostmasinasse.

Siin on see! Lihtne konfiguratsioonifail, mis võimaldab teil Dockeri abil Kafka konteinerit lihtsate sammudega üles keerata.

Konteineri käitamine

Dokkeri töötamise tagamiseks saame käivitada konteineri YAML-failist järgmise käsuga:

$ sudo dokkija koostama

Käsk peaks leidma YAML-i konfiguratsioonifaili ja käivitama konteineri määratud väärtustega:

Järeldus

Nüüd õppisite, kuidas saate konfigureerida ja käivitada Apache Kafka dockeri koostamise YAML-i konfiguratsioonifailist.