Nasaďte Apache Kafka pomocí Docker Compose

Nasadte Apache Kafka Pomoci Docker Compose



Docker je bezplatný a open-source kontejnerizační software, který zcela změnil způsob, jakým vývojáři balí a nasazují aplikace. Docker nám umožňuje zabalit aplikaci a všechny požadované závislosti do jediné entity. To znamená, že můžeme distribuovat balíček a prostředí lze replikovat téměř v každém počítači bez konfliktních nebo chybějících balíčků.

V tomto tutoriálu se naučíme, jak můžeme nasadit cluster Apache Kafka pomocí dockeru. To nám umožňuje použít poskytnutý obrázek dockeru k rychlému spuštění clusteru Kafka v téměř jakémkoli prostředí.

Začněme od základů a probereme, co je Kafka.







Co je Apache Kafka?

Apache Kafka je bezplatný, open source, vysoce škálovatelný, distribuovaný a chybám odolný systém zasílání zpráv publikovat-předplatit. Je navržen tak, aby zvládal velký objem, vysokou propustnost a datový tok v reálném čase, takže je vhodný pro mnoho případů použití, včetně agregace protokolů, analýzy v reálném čase a architektur řízených událostmi.



Kafka je založena na distribuované architektuře, která mu umožňuje zpracovávat velké množství dat na více serverech. Využívá model publikování a odběru, kdy producenti posílají zprávy k tématům a spotřebitelé se k nim přihlašují, aby je dostávali. To umožňuje oddělenou komunikaci mezi výrobci a spotřebiteli a poskytuje vysokou škálovatelnost a flexibilitu.



Co je to Docker Compose

Docker compose odkazuje na docker plugin nebo nástroj pro definování a spouštění aplikací pro více kontejnerů. Docker nás sestaví, abychom definovali konfiguraci kontejneru v souboru YAML. Konfigurační soubor obsahuje specifikace kontejneru, jako jsou služby, sítě a svazky, které aplikace vyžaduje.





Pomocí příkazu docker-compose můžeme vytvořit a spustit více kontejnerů jediným příkazem.

Instalace Docker a Docker Compose

Prvním krokem je ujistit se, že jste na místní počítač nainstalovali docker. Další informace naleznete v následujících zdrojích:



  • 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 době psaní tohoto výukového programu vyžaduje instalace docker compose instalaci plochy Docker na váš cílový počítač. Instalace docker compose jako samostatné jednotky je proto zastaralá.

Jakmile nainstalujeme Docker, můžeme nakonfigurovat soubor YAML. Tento soubor obsahuje všechny podrobnosti, které potřebujeme ke spuštění clusteru Kafka pomocí kontejneru docker.

Nastavení souboru Docker-Compose.YAML

Vytvořte soubor docker-compose.yaml a upravte jej pomocí svého oblíbeného textového editoru:

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

Dále přidejte konfigurační soubor dockeru, jak je znázorněno v následujícím:

verze : '3'
služby :
ošetřovatel zoo :
obraz : bitnami / ošetřovatel zoo : 3.8
porty :
- '2181:2181'
svazky :
- 'zookeeper_data:/bitnami'
životní prostředí :
- ALLOW_ANONYMOUS_LOGIN = Ano
kafka :
obraz : přístavní dělník. tento / bitnami / kafka : 3.3
porty :
- '9092:9092'
svazky :
- 'kafka_data:/bitnami'
životní prostředí :
- KAFKA_CFG_ZOOKEEPER_CONNECT = ošetřovatel zoo : 2181
- ALLOW_PLAINTEXT_LISTENER = Ano
záleží na :
- ošetřovatel zoo
svazky :
zookeeper_data :
Řidič : místní
kafka_data :
Řidič : místní

Vzorový soubor dockeru nastaví Zookeeper a cluster Kafka, kde je cluster Kafka připojen ke službě Zookeeper za účelem koordinace. Soubor také konfiguruje porty a proměnné prostředí pro každou službu, aby umožnil komunikaci a přístup ke službám.

Pojmenované svazky jsme také nastavili tak, aby uchovaly data služeb, i když jsou kontejnery restartovány nebo znovu vytvořeny.

Rozdělme předchozí soubor na jednoduché části:

Začínáme se službou Zookeeper pomocí obrázku bitnami/zookeeper:3.8. Tento obrázek poté mapuje port 2181 na hostitelském počítači na port 2181 na kontejneru. Také jsme nastavili proměnnou prostředí ALLOW_ANONYMOUS_LOGIN na „yes“. Nakonec nastavíme svazek, na kterém služba ukládá data, jako svazek dat zookeeper_data.

Druhý blok definuje detaily pro nastavení služby Kafka. V tomto případě použijeme obrázek docker.io/bitnami/kafka:3.3, který mapuje port hostitele 9092 na port kontejneru 9092. Podobně také definujeme proměnnou prostředí KAFKA_CFG_ZOOKEEPER_CONNECT a nastavíme její hodnotu na adresu Zookeeper, jak je mapována na port 2181. Druhá proměnná prostředí, kterou definujeme v této části, je proměnná prostředí ALLOW_PLAINTEXT_LISTENER. Nastavení hodnoty této proměnné prostředí na „yes“ umožňuje nezabezpečený provoz do clusteru Kafka.

Nakonec uvádíme objem, na kterém služba Kafka ukládá svá data.

Aby bylo zajištěno, že docker nakonfiguruje svazky pro Zookeeper a Kafka, musíme je definovat, jak je znázorněno v části svazky. Tím se nastaví svazky zookeeper_data a kafka_data. Oba svazky používají místní ovladač, což znamená, že data jsou uložena v hostitelském počítači.

Tady to máš! Jednoduchý konfigurační soubor, který vám umožní roztočit kontejner Kafka pomocí dockeru v jednoduchých krocích.

Spuštění kontejneru

Abychom zajistili, že docker běží, můžeme spustit kontejner ze souboru YAML pomocí následujícího příkazu:

$ sudo docker skládat

Příkaz by měl najít konfigurační soubor YAML a spustit kontejner se zadanými hodnotami:

Závěr

Nyní jste se naučili, jak můžete nakonfigurovat a spustit Apache Kafka z konfiguračního souboru YAML pro vytvoření dockeru.