V tomto tutoriálu vám ukážeme, jak nainstalovat a nastavit Apache Kafka na VPS se systémem Ubuntu 18.04.
Kafka nebo Apache Kafka je distribuovaný systém pro zasílání zpráv založený na principu modelu pub-sub (publish-subscribe). Umožňuje nám publikovat a odebírat proud záznamů, které lze kategorizovat. Je to neuvěřitelně rychlé , vysoce škálovatelné ,odolné proti chybám systém a je navržen tak, aby zpracovával velké množství dat vreálném čase . Apache Kafka lze také použít jako alternativu ke zprostředkovateli zpráv, což nám umožňuje zpracovávat/transformovat proud záznamů. Kafka může být použit jako systém zpráv, ale v poměrně nesrovnatelně obrovském měřítku. Celkově vzato je Apache Kafka při správném použití velmi výkonný nástroj.
Předpoklady
- Server se systémem Ubuntu 18.04 s alespoň 4 GB paměti. Pro účely tohoto tutoriálu budeme používat jeden z našich spravovaných Ubuntu 18.04 VPS.
- Přístup SSH s právy root nebo přístup k samotnému uživateli „root“
Krok 1:Přihlaste se přes SSH a aktualizujte systém
Přihlaste se ke svému Ubuntu 18.04 VPS pomocí SSH jako uživatel root:
ssh root@IP_Address -p Port_number
V případě potřeby nahraďte „root“ uživatelem, který má oprávnění sudo. Navíc nahraďte „IP_Address“ a „Port_Number“ příslušnou IP adresou vašeho serveru a portem SSH.
Jakmile to uděláte, můžete zkontrolovat, zda máte na svém serveru nainstalovanou správnou verzi Ubuntu, pomocí následujícího příkazu:
# lsb_release -a
Měli byste získat tento výstup:
ID distributora:UbuntuDescription:Ubuntu 18.04.2 LTSRease:18.04Codename:bionic
Poté spusťte následující příkaz, abyste se ujistili, že všechny nainstalované balíčky na serveru jsou aktualizovány na nejnovější dostupné verze:
# apt update &&apt upgrade
Krok 2:Přidání systémového uživatele
Vytvořme nového uživatele s názvem ‚kafka‘ a poté tohoto nového uživatele přidáme jako sudoer.
# adduser kafka# usermod -aG sudo kafka
Krok 3:Nainstalujte Java
Kafka je napsán v Javě, takže pro jeho fungování je vyžadováno JVM. V tomto tutoriálu použijeme OpenJDK 11, protože je to standardní verze Javy, která je součástí Ubuntu od září 2018.
# apt install default-jre
Krok 4:Stáhněte si Apache Kafka
Nyní si stáhneme Kafku, můžete přejít sem a v případě potřeby stáhnout nejnovější verzi. Poslední odkaz ke stažení v době psaní tohoto článku byl již zadán v příkladu pro vás.
# su - kafka
wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz
Nyní, když byl stažen binární soubor Apache Kafka, musíme jej rozbalit do našeho uživatelského adresáře Kafka
$ tar -xzvf kafka.tgz --stripe 1
Krok 5:Konfigurace Apache Kafka
Je čas nakonfigurovat Apache Kafka. Ve výchozím nastavení nemáme povoleno mazat témata, kategorie nebo skupiny, do kterých lze vkládat zprávy. Chcete-li toto chování změnit, musíme upravit výchozí konfiguraci.
$ nano ~/config/server.properties
Připojte následující řádek na poslední řádek konfiguračního souboru.
delete.topic.enable =true
Krok 6:Vytvořte soubor systémové jednotky pro Apache Kafka
K provozování Kafky je nutný správce zoo. Kafka používá zookeeper, takže před spuštěním služby Apache Kafka musíme nejprve spustit instanci serveru Zookeeper. V tomto tutoriálu použijeme pohodlný skript přibalený ke Kafkovi, abychom získali rychlou a špinavou instanci Zookeeper s jedním uzlem.
Otevřete nový soubor na cestě k souboru /etc/systemd/system/zookeeper.service
a otevřete jej v preferovaném textovém editoru. Budeme používat nano
pro tento tutoriál.
$ sudo nano /etc/systemd/system/zookeeper.service
Vložte do něj následující řádky:
[Unit]Requires=network.target remote-fs.targetAfter=network.target remote-fs.target[Service]Type=simpleUser=kafkaExecStart=/home/kafka/bin/zookeeper-server-start.sh /home /kafka/config/zookeeper.propertiesExecStop=/home/kafka/bin/zookeeper-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.target
Nyní vytvořte soubor systémové jednotky pro kafka na cestě k souboru /etc/systemd/system/kafka.service
:
$ sudo nano /etc/systemd/system/kafka.service
Do souboru vložte následující řádky:
[Unit]Requires=zookeeper.serviceAfter=zookeeper.service[Service]Type=simpleUser=kafkaExecStart=/bin/sh -c '/home/kafka/bin/kafka-server-start.sh /home/kafka/ config/server.properties> /home/kafka/kafka.log 2>&1'ExecStop=/home/kafka/bin/kafka-server-stop.shRestart=on-abnormal[Install]WantedBy=multi-user.targetByly přidány nové systémové jednotky, takže povolme Apache Kafka, aby se automaticky spouštěl při bootování a poté spustil službu.
$ sudo systemctl povolit kafka$ sudo systemctl spustit kafkaKrok 7:Vytvořte téma
V tomto kroku vytvoříme téma s názvem „FirstTopic“ s jedním oddílem a pouze jednou replikou:
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic FirstTopicCreated topic "FirstTopic".Hodnota replikačního faktoru popisuje, kolik kopií dat bude vytvořeno. Spouštíme s jedinou instancí, takže hodnota by byla 1.
Hodnota oddílů popisuje počet brokerů, mezi které chcete rozdělit data. Provozujeme s jedním brokerem, takže hodnota by byla 1.
Nyní můžete vidět vytvořené téma na Kafkovi spuštěním příkazu list topic:
$ bin/kafka-topics.sh --list --zookeeper localhost:2181FirstTopicKrok 8:Odesílání zpráv pomocí Apache Kafka
Apache Kafka přichází s klientem příkazového řádku, který převezme vstup ze souboru nebo standardního vstupu a odešle ho jako zprávy do clusteru Kafka. „Producent“ je proces, který nese odpovědnost za vkládání dat do naší služby Kafka. Ve výchozím nastavení odesílá Kafka každý řádek jako samostatnou zprávu.
Spusťte producenta a poté zadejte několik zpráv do konzoly, které chcete odeslat na server.
$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic FirstTopic>Vítejte v kafce>Toto je obsah našeho prvního tématu>Nechte terminál otevřený a přejděte k dalšímu kroku.
Krok 9:Použijte Apache Kafka jako spotřebitele
Apache Kafka má také příkazový řádek pro spotřebitele ke čtení dat z Kafky – to je proto, aby spotřebitel mohl použít Kafku k zobrazení zpráv ve standardním výstupu.
Spusťte následující příkaz v nové relaci SSH.
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginningVítejte v kafkaToto je obsah našeho prvního tématuA je to! Apache Kafka byl úspěšně nainstalován a nastaven. Nyní můžeme napsat několik zpráv na terminál výrobce, jak bylo uvedeno v předchozím kroku. Zprávy budou okamžitě viditelné na našem spotřebitelském terminálu.
Samozřejmě nemusíte vědět, jak nainstalovat Apache Kafka na Ubuntu 18.04, pokud máte Ubuntu 18.04 VPS hostovaný u nás. Pokud tak učiníte, můžete jednoduše požádat náš tým podpory, aby vám nainstaloval Apache Kafka na Ubuntu 18.04. Jsou k dispozici 24 hodin denně, 7 dní v týdnu a budou vám schopni pomoci s instalací Apache Kafka, stejně jako s případnými dalšími požadavky.
PS. Pokud rádi čtete tento blogový příspěvek o tom, jak nainstalovat Apache Kafka na Ubuntu 18.04, můžete jej sdílet na sociálních sítích pomocí níže uvedených zkratek nebo jednoduše zanechat komentář v sekci komentářů. Děkuji.
Panels