Namestite Apache Kafka z Docker Compose

Namestite Apache Kafka Z Docker Compose



Docker je brezplačna in odprtokodna programska oprema za shranjevanje vsebnikov, ki je popolnoma spremenila način pakiranja in uvajanja aplikacij razvijalcev. Docker nam omogoča pakiranje aplikacije in vseh zahtevanih odvisnosti v eno samo entiteto. To pomeni, da lahko distribuiramo paket, okolje pa je mogoče replicirati v skoraj vsakem računalniku brez konfliktov ali manjkajočih paketov.

V tej vadnici se bomo naučili, kako lahko razmestimo gručo Apache Kafka z uporabo dockerja. To nam omogoča uporabo priložene slike dockerja za hitro vrtenje gruče Kafka v skoraj katerem koli okolju.

Začnimo z osnovami in razpravljajmo o tem, kaj je Kafka.







Kaj je Apache Kafka?

Apache Kafka je brezplačen, odprtokoden, zelo razširljiv, distribuiran in odporen na napake sistem za sporočanje objava-naročnina. Zasnovan je za obvladovanje velikega obsega, visoke prepustnosti in toka podatkov v realnem času, zaradi česar je primeren za številne primere uporabe, vključno z združevanjem dnevnikov, analitiko v realnem času in arhitekturami, ki jih vodijo dogodki.



Kafka temelji na porazdeljeni arhitekturi, ki ji omogoča obdelavo velikih količin podatkov na več strežnikih. Uporablja model objave in naročanja, kjer proizvajalci pošiljajo sporočila temam, potrošniki pa se nanje naročijo, da jih prejmejo. To omogoča ločeno komunikacijo med proizvajalci in potrošniki, kar zagotavlja visoko razširljivost in prilagodljivost.



Kaj je Docker Compose

Docker compose se nanaša na vtičnik docker ali orodje za definiranje in izvajanje aplikacij z več vsebniki. Docker nas sestavi, da definiramo konfiguracijo vsebnika v datoteki YAML. Konfiguracijska datoteka vključuje specifikacije vsebnika, kot so storitve, omrežja in količine, ki jih zahteva aplikacija.





Z ukazom docker-compose lahko ustvarimo in zaženemo več vsebnikov z enim samim ukazom.

Namestitev Dockerja in Docker Compose

Prvi korak je zagotoviti, da ste namestili priklopno postajo na lokalni računalnik. Za več informacij lahko preverite naslednje vire:



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

V času pisanja te vadnice namestitev docker compose zahteva namestitev namizja Docker na vaš ciljni računalnik. Zato je namestitev docker compose kot samostojne enote zastarela.

Ko namestimo Docker, lahko konfiguriramo datoteko YAML. Ta datoteka vsebuje vse podrobnosti, ki jih potrebujemo za vrtenje gruče Kafka z uporabo docker vsebnika.

Nastavitev Docker-Compose.YAML

Ustvarite docker-compose.yaml in uredite s svojim najljubšim urejevalnikom besedil:

$ dotik docker-compose.yaml
$ vim docker-compose.yaml

Nato dodajte konfiguracijsko datoteko dockerja, kot je prikazano spodaj:

različica : '3'
storitve :
oskrbnik živalskega vrta :
slika : bitnami / oskrbnik živalskega vrta : 3.8
pristanišča :
- '2181:2181'
zvezki :
- 'zookeeper_data:/bitnami'
okolju :
- ALLOW_ANONYMOUS_LOGIN = ja
kafka :
slika : docker. to / bitnami / kafka : 3.3
pristanišča :
- '9092:9092'
zvezki :
- 'kafka_data:/bitnami'
okolju :
- KAFKA_CFG_ZOOKEEPER_CONNECT = oskrbnik živalskega vrta : 2181
- ALLOW_PLAINTEXT_LISTENER = ja
odvisno od :
- oskrbnik živalskega vrta
zvezki :
zookeeper_data :
voznik : lokalni
kafka_podatki :
voznik : lokalni

Primer docker datoteke nastavi Zookeeper in gručo Kafka, kjer je gruča Kafka povezana s storitvijo Zookeeper za usklajevanje. Datoteka tudi konfigurira vrata in spremenljivke okolja za vsako storitev, da omogoči komunikacijo in dostop do storitev.

Nastavili smo tudi imenovane nosilce, da obdržijo podatke storitev, tudi če se vsebniki znova zaženejo ali ustvarijo.

Razčlenimo prejšnjo datoteko na preproste dele:

Začnemo s storitvijo Zookeeper z uporabo slike bitnami/zookeeper:3.8. Ta slika nato preslika vrata 2181 na gostiteljskem računalniku v vrata 2181 na vsebniku. Nastavili smo tudi spremenljivko okolja ALLOW_ANONYMOUS_LOGIN na »da«. Na koncu nastavimo nosilec, na katerem storitev shranjuje podatke, kot nosilec zookeeper_data.

Drugi blok določa podrobnosti za nastavitev storitve Kafka. V tem primeru uporabimo sliko docker.io/bitnami/kafka:3.3, ki preslika vrata gostitelja 9092 v vrata vsebnika 9092. Podobno definiramo tudi spremenljivko okolja KAFKA_CFG_ZOOKEEPER_CONNECT in nastavimo njeno vrednost na naslov Zookeeperja, kot je preslikan v vrata 2181. Druga spremenljivka okolja, ki jo definiramo v tem razdelku, je spremenljivka okolja ALLOW_PLAINTEXT_LISTENER. Nastavitev vrednosti te spremenljivke okolja na »da« omogoča nezaščiten promet do gruče Kafka.

Nazadnje podajamo prostor, na katerem storitev Kafka shranjuje svoje podatke.

Da zagotovimo, da priklopna postaja konfigurira nosilce za Zookeeper in Kafka, ju moramo definirati, kot je prikazano v razdelku z nosilci. To nastavi nosilca zookeeper_data in kafka_data. Oba nosilca uporabljata lokalni gonilnik, kar pomeni, da so podatki shranjeni v gostiteljskem računalniku.

Tukaj imaš! Preprosta konfiguracijska datoteka, ki vam omogoča, da zavrtite vsebnik Kafka z uporabo dockerja v preprostih korakih.

Izvajanje vsebnika

Da zagotovimo, da docker deluje, lahko zaženemo vsebnik iz datoteke YAML z naslednjim ukazom:

$ sudo docker sestavite

Ukaz naj poišče konfiguracijsko datoteko YAML in zažene vsebnik z navedenimi vrednostmi:

Zaključek

Zdaj ste izvedeli, kako lahko konfigurirate in zaženete Apache Kafka iz konfiguracijske datoteke YAML za sestavljanje dockerja.