Apache Kafka je distribuovaná streamovací platforma vyvinutá Apache Software Foundation a napsaná v Javě a Scale. Apache Kafka byl původně vyvinut společností LinkedIn a byl otevřen v roce 2011.
Apache Kafka se používá k budování datového kanálu streamovaného v reálném čase, který spolehlivě získává data mezi systémem a aplikacemi. Poskytuje jednotné zpracování dat s vysokou propustností a nízkou latencí v reálném čase.
V tomto tutoriálu vám ukážeme, jak krok za krokem nainstalovat a nakonfigurovat Apache Kafka na Ubuntu 18.04. Tato příručka pokryje instalaci a konfiguraci Apache Kafka a Apache Zookeeper.
Předpoklady
- Ubuntu 18.04
- Oprávnění uživatele root
Co uděláme?
- Nainstalujte Java OpenJDK 8
- Nainstalujte Apache Zookeeper
- Stáhněte si a nakonfigurujte Apache Kafka
- Nakonfigurujte Apache Kafka a Zookeeper jako službu
- Testování
Krok 1 – Instalace Java OpenJDK 8
Apache Kafka byl napsán v Javě a Scale, takže potřebujeme nainstalovat Javu na server.
Před instalací jakýchkoli balíčků aktualizujte úložiště a upgradujte všechny balíčky.
sudo apt update
sudo apt upgrade
Nyní nainstalujte Java OpenJDK 8 z úložiště Ubuntu pomocí příkazu apt níže.
sudo apt install openjdk-8-jdk -y
Po dokončení instalace zkontrolujte nainstalovanou verzi Java.
java -version
Nyní uvidíte java OpenJDK 8 nainstalovanou na Ubuntu 18.04.
Krok 2 – Instalace Apache Zookeeper
Apache Kafka používá zookeeper pro volbu správce, členství v clusteru a konfiguraci témat. Zookeeper je distribuovaná konfigurační a synchronizační služba.
V tomto kroku nainstalujeme Zookeeper z úložiště Ubuntu.
Spusťte níže uvedený příkaz apt.
sudo apt install zookeeperd -y
Počkejte, dokud nebude instalace dokončena.
Krok 3 – Stažení a konfigurace Apache Kafka
V tomto kroku nainstalujeme Apache Kafka pomocí binárních souborů, které lze stáhnout z webu Kafka. Nainstalujeme a nakonfigurujeme apache Kafka a spustíme jej jako uživatel bez oprávnění root.
Přidejte nového uživatele s názvem 'kafka'.
useradd -d /opt/kafka -s /bin/bash kafka
passwd kafka
Nyní přejděte do adresáře '/opt' a stáhněte si binární soubory Apache Kafka pomocí wget.
cd /opt
wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz
Nyní vytvořte nový adresář kafka.
mkdir -p /opt/kafka
Extrahujte soubor kafka_*.tar.gz do adresáře 'kafka' a změňte vlastníka adresáře na uživatele a skupinu 'kafka'.
tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
sudo chown -R kafka:kafka /opt/kafka
Nyní se přihlaste k uživateli 'kafka' a upravte konfiguraci server.properties.
su - kafka
vim config/server.properties
Vložte následující konfiguraci na konec řádku.
delete.topic.enable = true
Uložte a ukončete.
Konfigurace Apache Kafka byla dokončena.
Krok 4 – Konfigurace Apache Kafka a Zookeeper jako služby
V tomto kroku nakonfigurujeme Apache Kafka jako službu a nakonfigurujeme konfiguraci celní služby pro správce zoo.
Přejděte do adresáře '/lib/systemd/system' a vytvořte nový soubor služby 'zookeeper.service'.
cd /lib/systemd/system/
vim zookeeper.service
Vložte konfiguraci níže.
[Unit] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Uložte a ukončete.
Nyní vytvořte soubor služby Apache Kafka 'kafka.service'.
vim kafka.service
Vložte konfiguraci níže.
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=kafka ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties' ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Uložte a ukončete.
Znovu načtěte konfiguraci správce systému.
systemctl daemon-reload
Nyní spusťte služby Apache Zookeeper a Apache Kafka.
systemctl start zookeeper
systemctl enable zookeeper
systemctl start kafka
systemctl enable kafka
Apache zookeeper a Kafka jsou v provozu.
Zookeeper běžící na portu '2181' a Kafka na portu '9092', zkontrolujte to pomocí příkazu netstat níže.
netstat -plntu
Krok 5 – Testování Apache Kafka
Přihlaste se k uživateli 'kafka' a přejděte do adresáře 'bin/'.
su - kafka
cd bin/
Nyní vytvořte nové téma s názvem 'HakaseTesting' pomocí spustitelného souboru 'kafka-topics.sh'.
./kafka-topics.sh --create --zookeeper localhost:2181 \
--replication-factor 1 --partitions 1 \
--topic HakaseTesting
A spusťte 'kafka-console-producer.sh' s tématem 'HakaseTesting'.
./kafka-console-producer.sh --broker-list localhost:9092 \
--topic HakaseTesting
Nyní otevřete nový terminál a přihlaste se k serveru, poté se přihlaste k uživateli 'kafka'.
Spusťte 'kafka-console-consumer.sh' pro téma 'HakaseTesting'.
./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
--topic HakaseTesting --from-beginning
A když zadáte jakýkoli vstup ze shellu 'kafka-console-producer.sh', získáte stejný výsledek v shellu 'kafka-console-consumer.sh'.
Instalace a konfigurace pro Apache Kafka na Ubuntu 18.04 byla úspěšně dokončena.