Wir installieren Apache Kafka auf einem Microsoft Windows Server 2019.

Hierzu wird folgendes ben├Âtigt

Installation von JDK

Von der Seite Java SE Runtime Environment 8 Downloads laden wir das Windows x64 Paket herunter.

Die heruntergeladene Datei jre-8u271-windows-x64.exe f├╝hren wir aus. Mit einem Klick auf Install starten wir die Installation.

Die JRE wurde erfolgreich im Verzeichnis C:\Program Files\Java\jre1.8.0_271 installiert.

Danach f├╝gen wir in den Umgebungsvariablen > Systemvariablen JAVA_HOME = C:\Program Files\Java\jre1.8.0_271 hinzu.

Der letzte Schritt ist es der PATH Variable %JAVA_HOME%\bin hinzuzuf├╝gen. Damit ist die Basis-Konfigration abgeschlossen!

Mit der Eingabe java -version in der Kommandozeile k├Ânnen wir pr├╝fen ob Java generell funktioniert.

Apache ZooKeeper insallieren

Als n├Ąchstes steht die Installation von Apache Zookeeper an. Dazu laden wir von der Apache ZooKeeper Downloads Seite die Apache ZooKeeper 3.6.2 herunter.

Danach entpacken wir die Datei in ein beliebiges Verzeichnis. In meinem Fall unter c:\zookeeper.

Nun gehen wir ins Apache ZooKeeper Config Verzeichnis c:\zookeeper\conf. Hier erstellen wir von der Datei zoo_sample.cfg eine Kopie und benennen diese um in zoo.cfg.

Die zoo.cfg ├Âffnen wir in Notepad und suchen die Zeile

dataDir=/tmp/zookeeper

Diese Zeile ├Ąndern wir um in dataDir=c:\zookeeper.

Danach f├╝gen wir in den Umgebungsvariablen > Systemvariablen ZOOKEEPER_HOME = c:\zookeeper hinzu.

Der letzte Schritt ist es der PATH Variable %ZOOKEEPER_HOME%\bin hinzuzuf├╝gen. Damit ist die Basis-Konfigration abgeschlossen!

Um ZooKeeper zu starten, ├Âffnen wir die Kommandozeile und geben im Prompt zkserver ein.

Und siehe da, Apache ZooKeeper l├Ąuft.

Apache Kafka installieren

Zum Start m├╝ssen wir uns die letzte Version von Kafka unter https://kafka.apache.org/downloads herunterladen. Ich lade die Version Scala 2.13kafka_2.13-2.7.0.tgz herunter.

Anschlie├čend entpacke ich die Datei in das Verzeichnis c:\kafka.

Im Kafka Config Verzeichnis c:\kafka\config ├Âffnen wir nun die Datei server.properties.

Wie suchen nach der Zeile log.dirs=/tmp/kafka-logs und ├Ąndern diese in log.dirs=c:\kafka\kafka-logs.

Wenn der ZooKeeper auf derselben Maschine l├Ąuft als auch unter dem Standard-Port 2181, dann sind keine weiteren ├änderungen an der Datei notwendig. Ansonsten muss man die Zeile zookeeper.connect=localhost:2181 ebenfalls anpassen.

Kafka l├Ąuft standardm├Ą├čig auf dem Port 9092 (der ZooKeeper auf 2181).

Bevor wie den Apache Kafka Server starten, muss sichergestellt sein das der ZooKeeper l├Ąuft (siehe vorherigen Abschnitt).

Um Kafka zu starten, ├Âffnen wir die Kommandozeile und wechseln in das Kafka Verzeichnis c:\kafka. Hier geben wir nun .\bin\windows\kafka-server-start.bat .\config\server.properties ein und dr├╝cken die Enter-Taste.

.\bin\windows\kafka-server-start.bat .\config\server.properties

Nachdem der Kafka gestartet ist, sieht die Kommadozeile ├Ąhnlich wie dieser aus:

Apache Kafka is up and running. Perfekt! Nun k├Ânnen wir Topics erstellen und Daten an Kafka schicken oder konsumieren. Das kann per Java, Scala, C#, Python oder in einer anderen Sprache/Tool gemacht werden oder aber via Kommandozeile.

Apache Kafka Topics erstellen

Um Topics zu erstellen ├Âffnen wir erneut eine Kommandozeile und wechseln in das Verzeichnis c:\kafka\bin\windows.

Topics verwalten wir mit dem Befehl kafka-topics.bat. Der nachfolgende Befehl ertellt ein Topic mit dem Namen bogazci.

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic bogazci

Kafka Server Test mit einem Apache Kafka Producer und Consumer

Apache liefert einen einfachen Producer und Consumer mit. Um unseren Kafka Server zu testen erstellen wir zun├Ąchst mit dem Producer einfache Nachrichten, die anschlie├čend mit dem Consumer abgerufen werden.

F├╝r den Producer starten wir erneut ein neues Konsolenfenster und wechseln in das Verzeichnis c:\kafka\bin\windows.

Jetzt geben wir den nachfolgenden Befehl ein kafka-console-producer.bat --broker-list localhost:9092 --topic bogazci.

kafka-console-producer.bat --broker-list localhost:9092 --topic bogazci

Die Konsole lauscht nun auf unsere Eingabe mit >.

Nun erstellen wir einen Consumer und ├Âffnen hierzu ein weiteres Konsolenfenster und wechseln auch bei diesem in das Verzeichnis c:\kafka\bin\windows.

Hier geben wir nun nachfolgenden Befehl ein kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic bogazci.

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic bogazci

Und nun kann man im Producer Fenster Nachrichten eingeben und siehe da, der Consumer holt sie ab und zeigt sie sofort an!

Einige n├╝tzliche Befehle gibt es auch noch:

Topics auflisten

kafka-topics.bat --list --zookeeper localhost:2181

Topics l├Âschen

kafka-run-class.bat kafka.admin.TopicCommand --delete --topic [topic_to_delete] --zookeeper localhost:2181

Nachrichten von Beginn an lesen

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic [Topic Name] --from-beginn

So, nun l├Ąuft auch unser Apache Kafka Server!