Telepítse az Apache Kafkát a Docker Compose segítségével

Telepitse Az Apache Kafkat A Docker Compose Segitsegevel



A Docker egy ingyenes és nyílt forráskódú konténerszoftver, amely teljesen megváltoztatta az alkalmazások fejlesztői csomagolásának és üzembe helyezésének a környezetét. A Docker lehetővé teszi, hogy egy alkalmazást és az összes szükséges függőséget egyetlen entitásba csomagoljuk. Ez azt jelenti, hogy a csomagot el tudjuk terjeszteni, és a környezet szinte minden gépen replikálható anélkül, hogy ütköznek vagy hiányoznak a csomagok.

Ebben az oktatóanyagban megtudjuk, hogyan telepíthetünk Apache Kafka-fürtöt a dokkoló segítségével. Ez lehetővé teszi számunkra, hogy a mellékelt docker-kép segítségével gyorsan felpörgessünk egy Kafka-fürtöt szinte bármilyen környezetben.

Kezdjük az alapokkal, és beszéljük meg, mi is az a Kafka.







Mi az Apache Kafka?

Az Apache Kafka egy ingyenes, nyílt forráskódú, jól méretezhető, elosztott és hibatűrő közzétételi és előfizetési üzenetküldő rendszer. Úgy tervezték, hogy nagy mennyiségű, nagy áteresztőképességű és valós idejű adatfolyamot kezeljen, így számos felhasználási esetre alkalmas, beleértve a naplóösszesítést, a valós idejű elemzéseket és az eseményvezérelt architektúrákat.



A Kafka elosztott architektúrán alapul, amely lehetővé teszi nagy mennyiségű adat kezelését több szerveren keresztül. Közzététel-előfizetés modellt alkalmaz, ahol a gyártók üzeneteket küldenek a témákhoz, a fogyasztók pedig feliratkoznak rájuk, hogy megkapják azokat. Ez lehetővé teszi a szétválasztott kommunikációt a termelők és a fogyasztók között, magas skálázhatóságot és rugalmasságot biztosítva.



Mi az a Docker Compose

A Docker Compose egy docker beépülő modulra vagy eszközre vonatkozik, amely több tárolóból álló alkalmazások meghatározására és futtatására szolgál. A Docker a tároló konfigurációjának YAML-fájlban történő meghatározásához állít össze bennünket. A konfigurációs fájl tartalmazza a tároló specifikációit, például az alkalmazás által igényelt szolgáltatásokat, hálózatokat és köteteket.





A docker-compose paranccsal egyetlen paranccsal több tárolót is létrehozhatunk és elindíthatunk.

A Docker és a Docker Compose telepítése

Az első lépés annak biztosítása, hogy a dokkolót a helyi gépre telepítette. További információért tekintse meg a következő forrásokat:



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

Az oktatóanyag megírásakor a Docker Compose telepítéséhez telepíteni kell a Docker asztalt a célgépre. Ezért a Docker Compose telepítése önálló egységként elavult.

Miután telepítettük a Dockert, konfigurálhatjuk a YAML fájlt. Ez a fájl tartalmazza az összes olyan részletet, amelyre szükségünk van egy Kafka-fürt létrehozásához egy docker konténer segítségével.

A Docker-Compose.YAML beállítása

Hozza létre a docker-compose.yaml fájlt, és szerkessze kedvenc szövegszerkesztőjével:

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

Ezután adja hozzá a docker konfigurációs fájlt az alábbiak szerint:

változat : '3'
szolgáltatások :
állatgondozó :
kép : bitnami / állatgondozó : 3.8
portok :
- '2181:2181'
kötetek :
- 'zookeeper_data:/bitnami'
környezet :
- ALLOW_ANONYMOUS_LOGIN = Igen
kafka :
kép : dokkmunkás. ez / bitnami / kafka : 3.3
portok :
- '9092:9092'
kötetek :
- 'kafka_data:/bitnami'
környezet :
- KAFKA_CFG_ZOOKEEPER_CONNECT = állatgondozó : 2181
- ALLOW_PLAINTEXT_LISTENER = Igen
attól függ :
- állatgondozó
kötetek :
állatkerti_adat :
sofőr : helyi
kafka_data :
sofőr : helyi

A példa docker fájl beállít egy Zookeeper és egy Kafka fürtöt, ahol a Kafka-fürt a Zookeeper szolgáltatáshoz kapcsolódik koordináció céljából. A fájl emellett konfigurálja az egyes szolgáltatások portjait és környezeti változóit, hogy lehetővé tegye a kommunikációt és a szolgáltatásokhoz való hozzáférést.

A megnevezett köteteket úgy is beállítottuk, hogy a tárolók újraindítása vagy újralétrehozása esetén is megmaradjanak a szolgáltatások adatai.

Bontsuk fel az előző fájlt egyszerű részekre:

Kezdjük a Zookeeper szolgáltatással a bitnami/zookeeper:3.8 kép használatával. Ez a kép ezután leképezi a gazdagép 2181-es portját a tároló 2181-es portjára. Az ALLOW_ANONYMOUS_LOGIN környezeti változót is „yes”-re állítottuk. Végül beállítjuk azt a kötetet, amelyen a szolgáltatás az adatokat tárolja, mint zookeeper_data volume.

A második blokk a Kafka szolgáltatás beállításának részleteit határozza meg. Ebben az esetben a docker.io/bitnami/kafka:3.3 képet használjuk, amely leképezi a 9092-es gazdagépportot a 9092-es konténerportra. Hasonlóképpen definiáljuk a KAFKA_CFG_ZOOKEEPER_CONNECT környezeti változót, és beállítjuk az értékét a Zookeeper címére, ahogyan a 2181-es port. A második környezeti változó, amelyet ebben a szakaszban definiálunk, az ALLOW_PLAINTEXT_LISTENER környezeti változó. A környezeti változó értékének „yes”-re állítása lehetővé teszi a nem biztonságos forgalmat a Kafka-fürt felé.

Végül megadjuk azt a kötetet, amelyen a Kafka szolgáltatás tárolja az adatait.

Annak biztosítására, hogy a dokkoló konfigurálja a Zookeeper és a Kafka köteteit, meg kell határoznunk őket a kötetek részben látható módon. Ez beállítja a zookeeper_data és a kafka_data köteteket. Mindkét kötet a helyi illesztőprogramot használja, ami azt jelenti, hogy az adatokat a gazdagépen tárolják.

Tessék, itt van! Egy egyszerű konfigurációs fájl, amely lehetővé teszi egy Kafka-tároló létrehozását a docker segítségével, egyszerű lépésekkel.

A tároló futtatása

Annak érdekében, hogy a dokkoló fut-e, futtathatjuk a tárolót a YAML fájlból a következő paranccsal:

$ sudo dokkoló komponálni

A parancsnak meg kell keresnie a YAML konfigurációs fájlt, és futtatnia kell a tárolót a megadott értékekkel:

Következtetés

Most megtanulta, hogyan konfigurálhatja és futtathatja az Apache Kafkát egy docker compose YAML konfigurációs fájlból.