Zde jsou kroky k instalaci Apache Kafka na server Rocky Linux nebo AlmaLinux 8, samozřejmě pomocí příkazového terminálu.
Apache Kafka je open-source software, který umožňuje ukládání a zpracování datových toků prostřednictvím distribuované streamovací platformy. Jednoduše řečeno, Apache Kafka je platforma pro streamování událostí, která funguje jako systém zasílání zpráv mezi odesílatelem a příjemcem s vysokou odolností proti chybám a možnostmi škálovatelnosti, protože je založena na distribuované architektuře, která je pro totéž optimalizována.
No, tento systém byl původně vyvinut LinkedIn jako fronta zpráv, nicméně jako projekt Apache Software Foundation je to open source a výkonná streamovací platforma s řadou funkcí. Nabízí rozhraní pro zápis dat do clusterů Kafka, pro čtení dat nebo pro import a export dat do a ze systémů třetích stran. Díky nízké latenci a vysoké propustnosti může snadno zpracovávat streamy v reálném čase.
Rozhraní také umožňují uživatelům načítat datové toky ze systémů třetích stran nebo je do těchto systémů exportovat. Díky tomu je Apache Kafka vhodný pro velká množství dat a aplikací v prostředí velkých dat.
Může být použit pro širokou škálu aplikací, jako je sledování aktivity webových stránek v reálném čase, sledování distribuovaných aplikací, agregace log souborů z různých zdrojů, synchronizace dat v distribuovaných systémech, trénování modelů v reálném čase pomáhá při strojovém učení, a další…
Apache Kafka nabízí tato čtyři hlavní rozhraní (API – Application Programming Interfaces). Další informace o jednotlivých rozhraních API naleznete na oficiální stránce dokumentace:
- Administrátorské rozhraní API
- Producer API
- Consumer API
- Streams API
- Connect API
Co potřebujete, abyste se řídili tímto výukovým programem:
- Rocky nebo AlmaLinux 8 nebo jakýkoli jiný server založený na RHEL, pokud je to možné, vyčistěte jej.
- Uživatel s přístupem sudo.
Kroky k instalaci Apache Kafka na Rocky Linux 8
Uvedená příručka je použitelná pro všechny linuxové systémy založené na RHEL 8 včetně CentOS 8 a Oracle Linux 8 pro instalaci Kafka v případě potřeby.
1. Aktualizovat systém
Před dalším přesunem spusťte příkaz aktualizace systému, abyste se ujistili, že všechny nainstalované balíčky jsou aktuální. Chcete-li spustit níže uvedený příkaz, obnoví se také mezipaměť úložiště.
sudo dnf update
2. Nainstalujte Java
Apache Kafka potřebuje ke svému běhu Javu, proto ji nejprve musíme nainstalovat do našeho místního prostředí a musí být stejná nebo větší než Java 8. No, nepotřebujeme přidávat žádné třetí úložiště, protože balíček pro získání JAVA již existuje na systémovém základním úložišti, proto použijme daný příkaz.
Pro Java 11
sudo dnf install java-11-openjdk
Pro nejnovější verzi, jako je 16, použijte níže uvedené příkazy:
sudo dnf install epel-release
sudo dnf install java-latest-openjdk
3. Stáhněte si nejnovější Apache Kafka na Rocky Linux 8 nebo Almalinux
Apache Kafka je k dispozici jako soubor tarball na oficiálních stránkách. Přejděte proto na oficiální web a stáhněte si nejnovější verzi. Můžete také zkopírovat jakýkoli odkaz na zrcadlení a použít wget
příkaz ke stažení pomocí příkazového řádku, jak jsme to udělali zde:
sudo dnf install wget nano
wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
Rozbalte stažený soubor
tar -xf kafka_*tgz
Zobrazení souboru:
ls
Přesuňte jej do /usr/local/
jen abychom zajistili, že složku Kafka omylem nesmažeme.
sudo mv kafka_2.13-3.0.0/ /usr/local/kafka
4. Vytvořte systémovou službu pro Zookeeper a Kafka
Sice jen pro test můžete spustit přímo skript služby Zookeeper i Kafka, ručně, ale pro produkční server jej musíme spouštět na pozadí. Proto vytvořte systémové jednotky pro oba skripty.
Vytvořit systémový soubor Zookeeper
Podle oficiálních stránek v budoucnu Kafka Zookeeper potřebovat nebude, ale při psaní tohoto článku jej potřebujeme. Nejprve tedy vytvořte soubor služby pro Zookeeper.
sudo nano /etc/systemd/system/zookeeper.service
Zkopírujte a vložte níže uvedené řádky:
[Unit] Description=Apache Zookeeper server Documentation=http://zookeeper.apache.org Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Uložit a zavřete soubor stisknutím Ctr+O , stiskněte Enter a poté jej ukončete pomocí Ctrl+X .
Nyní vytvořte soubor Kafka systemd
sudo nano /etc/systemd/system/kafka.service
Vložte následující řádky. Poznámka – Změňte Java_Home , v případě, že používáte jinou verzi. K jeho nalezení můžete použít příkaz – sudo find /usr/ -name *jdk
[Unit] Description=Apache Kafka Server Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh [Install] WantedBy=multi-user.target
Uložte soubor pomocí Ctrl+O stiskněte Enter a poté použijteCtrl+X pro ukončení.
Znovu načíst démona
Chcete-li výše provedené změny zohlednit v systému a používat soubory služeb, znovu načtěte systémového démona jednou.
sudo systemctl daemon-reload
5. Spusťte Zookeeper a Kafka Server na Rocky Linux
Nyní začněme a povolme obě služby serveru, abychom se ujistili, že budou také aktivní i po restartu systému.
sudo systemctl start zookeeper sudo systemctl start kafka
sudo systemctl enable zookeeper sudo systemctl enable kafka
Zkontrolujte stav služeb:
sudo systemctl status zookeeper
sudo systemctl status kafka
6. Vytvořte testovací témata na Kafka – Rocky nebo AlmaLinux
Kafka nám umožňuje číst, zapisovat, ukládat a zpracovávat události na různých počítačích, ale k uložení těchto událostí potřebujeme nějaké místo nebo složku a to „Témata “. Takže na svém serverovém terminálu vytvořte alespoň jedno téma pomocí následujícího příkazu, pomocí stejného později můžete vytvořit tolik témat, kolik chcete.
Řekněme, že naše první téma se jmenuje – testevent . Chcete-li tedy vytvořit stejný běh:
Přejděte do svého adresáře Kafka.
cd /usr/local/kafka/
A použijte skript Témata:
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testevent
Po vytvoření libovolného počtu témat, která chcete vypsat, můžeme použít následující příkaz:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
7. Napište nějakou událost pomocí Kafka Producer a čtěte se spotřebitelem
Kafka nabízí dvě rozhraní API – Producer a Spotřebitel , pro oba nabízí klienta příkazového řádku. Výrobce je zodpovědný za vytváření událostí a Spotřebitel je používá k zobrazení nebo čtení dat generovaných výrobcem.
Otevřete dvě terminálové karty nebo relace, abyste pochopili generátor událostí a nastavení čtečky v reálném čase.
#Na jednom prvním terminálu:
Pro otestování vytvořte některé události pomocí skriptu Producer:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testevent
Zadejte nějaký text, který chcete streamovat a zobrazovat na straně spotřebitele.
#Na druhém terminálu
Spustit níže uvedený příkaz spolu s názvem tématu pro kontrolu zpráv nebo generovaných dat událostí v reálném čase:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testevent --from-beginning