Heim  >  Artikel  >  Web-Frontend  >  Erste Schritte mit Apache Kafka

Erste Schritte mit Apache Kafka

PHPz
PHPzOriginal
2024-08-05 22:36:121024Durchsuche

Getting Started With Apache Kafka

Apache Kafka ist eine leistungsstarke, verteilte Event-Streaming-Plattform, die Billionen von Ereignissen pro Tag verarbeiten kann. Kafka wurde ursprünglich von LinkedIn entwickelt und Anfang 2011 als Open-Source-Lösung veröffentlicht und hat sich zu einem zentralen Rückgrat für viele moderne Datenarchitekturen entwickelt. In diesem Leitfaden führen wir Sie durch alles, was Sie für den Einstieg in Apache Kafka benötigen, vom Verständnis der Architektur über die Einrichtung bis hin zur Durchführung grundlegender Vorgänge.

Einführung in Apache Kafka

Apache Kafka ist für die Verarbeitung von Echtzeit-Datenfeeds konzipiert. Es fungiert als Plattform mit hohem Durchsatz und geringer Latenz für die Verarbeitung von Datenströmen. Kafka wird häufig zum Aufbau von Echtzeit-Streaming-Datenpipelines und Anwendungen verwendet, die sich an den Datenstrom anpassen. Einige häufige Anwendungsfälle umfassen Protokollaggregation, Echtzeitanalysen und Stream-Verarbeitung.

Schlüsselkonzepte und Terminologie

Bevor Sie sich mit der Einrichtung und dem Betrieb befassen, ist es wichtig, einige Schlüsselkonzepte und Terminologie in Kafka zu verstehen:

  • Produzent: Eine Anwendung, die Nachrichten an ein Kafka-Thema sendet.
  • Consumer: Eine Anwendung, die Nachrichten aus einem Kafka-Thema liest.
  • Thema: Eine Kategorie oder ein Feed-Name, an die Nachrichten von Produzenten gesendet werden.
  • Broker: Ein Kafka-Server, der Kafka-Themen speichert und bereitstellt.
  • Partition: Eine Unterteilung eines Themas für Skalierbarkeit und Parallelverarbeitung.
  • Offset: Eine eindeutige Kennung für jede Nachricht innerhalb einer Partition.

Apache Kafka einrichten

Das Einrichten von Apache Kafka umfasst mehrere Schritte, darunter das Herunterladen der erforderlichen Software, deren Konfiguration und das Starten der Dienste. In diesem Abschnitt stellen wir eine detaillierte Anleitung zur Verfügung, um sicherzustellen, dass Sie Ihre Kafka-Umgebung reibungslos zum Laufen bringen können.

Voraussetzungen

Bevor Sie mit der Einrichtung von Kafka beginnen, stellen Sie sicher, dass Ihr System die folgenden Voraussetzungen erfüllt:

  1. Java Development Kit (JDK): Kafka erfordert Java 8 oder höher. Sie können Ihre Java-Version mit dem folgenden Befehl überprüfen:

    java -version
    

    Wenn Java nicht installiert ist, können Sie es von der Oracle-Website herunterladen und installieren oder einen Paketmanager wie apt für Debian-basierte Systeme oder brew für macOS verwenden:

    # For Debian-based systems
    sudo apt update
    sudo apt install openjdk-11-jdk
    
    # For macOS
    brew install openjdk@11
    
  2. Apache ZooKeeper: Kafka verwendet ZooKeeper, um verteilte Konfigurationen und Synchronisierung zu verwalten. ZooKeeper ist im Lieferumfang von Kafka enthalten, sodass Sie es nicht separat installieren müssen.

Laden Sie Kafka herunter und installieren Sie es

  1. Kafka herunterladen: Besuchen Sie die offizielle Apache Kafka-Downloadseite und laden Sie die neueste Version von Kafka herunter. Zum Zeitpunkt des Schreibens ist Kafka 2.8.0 die neueste stabile Version.

    wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
    
  2. Heruntergeladene Datei extrahieren: Extrahieren Sie die TAR-Datei in ein Verzeichnis Ihrer Wahl.

    tar -xzf kafka_2.13-2.8.0.tgz
    cd kafka_2.13-2.8.0
    
  3. ZooKeeper starten: Kafka erfordert die Ausführung von ZooKeeper. Starten Sie den ZooKeeper-Dienst mit der bereitgestellten Konfigurationsdatei.

    bin/zookeeper-server-start.sh config/zookeeper.properties
    

    ZooKeeper sollte am Standardport 2181 starten. Sie sollten Protokollmeldungen sehen, die darauf hinweisen, dass ZooKeeper betriebsbereit ist.

  4. Kafka Broker starten: Öffnen Sie ein neues Terminalfenster und starten Sie den Kafka Broker mit der bereitgestellten Konfigurationsdatei.

    bin/kafka-server-start.sh config/server.properties
    

    Kafka sollte am Standardport 9092 starten. Sie sollten Protokollmeldungen sehen, die darauf hinweisen, dass der Kafka-Broker betriebsbereit ist.

Kafka-Konfiguration

Während die Standardkonfigurationen für Entwicklung und Tests geeignet sind, müssen Sie die Einstellungen möglicherweise für eine Produktionsumgebung anpassen. Zu den wichtigsten Konfigurationsdateien gehören:

  • server.properties: Diese Datei enthält Konfigurationen für den Kafka-Broker, wie z. B. Broker-ID, Protokollverzeichnis und Listener.
  • zookeeper.properties: Diese Datei enthält Konfigurationen für ZooKeeper, wie z. B. Datenverzeichnis und Client-Port.

Sie können diese Konfigurationsdateien entsprechend Ihren Anforderungen bearbeiten. Um beispielsweise das Protokollverzeichnis zu ändern, können Sie die Eigenschaft log.dirs in der Datei server.properties bearbeiten:

log.dirs=/path/to/your/kafka-logs

Erstellen von Systemd-Dienstdateien

Zur Vereinfachung der Verwaltung, insbesondere auf Linux-Servern, können Sie systemd-Dienstdateien für ZooKeeper und Kafka erstellen. Dadurch können Sie diese Dienste mit systemctl.

starten, stoppen und neu starten
  1. ZooKeeper-Dienstdatei: Erstellen Sie eine Datei mit dem Namen zookeeper.service im Verzeichnis /etc/systemd/system/:

    [Unit]
    Description=Apache ZooKeeper
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties
    ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    
  2. Kafka-Dienstdatei: Erstellen Sie eine Datei mit dem Namen kafka.service im Verzeichnis /etc/systemd/system/:

    [Unit]
    Description=Apache Kafka
    After=zookeeper.service
    
    [Service]
    Type=simple
    ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties
    ExecStop=/path/to/kafka/bin/kafka-server-stop.sh
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    
  3. Enable and Start Services: Enable and start the services using systemctl:

    sudo systemctl enable zookeeper
    sudo systemctl start zookeeper
    
    sudo systemctl enable kafka
    sudo systemctl start kafka
    

    You can now manage ZooKeeper and Kafka using standard systemctl commands (start, stop, status, restart).

Verifying the Installation

To verify that your Kafka setup is working correctly, you can perform some basic operations such as creating a topic, producing messages, and consuming messages.

  1. Creating a Topic:

    bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
    

    You should see a confirmation message indicating that the topic has been created successfully.

  2. Producing Messages:

    bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
    

    Type a few messages in the console and press Enter after each message.

  3. Consuming Messages:
    Open a new terminal window and run:

    bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
    

    You should see the messages you produced in the previous step.

By following these steps, you should have a fully functional Apache Kafka environment set up on your system. This setup forms the foundation for developing and deploying real-time data streaming applications using Kafka.

Conclusion

Getting started with Apache Kafka can seem daunting, but with the right guidance, you can quickly get up to speed. This guide provided a comprehensive introduction to Kafka, from installation to basic operations and building simple producers and consumers. As you continue to explore Kafka, you will uncover its full potential for building robust, real-time data pipelines.

By following this guide, you’ve taken the first steps in mastering Apache Kafka. Happy streaming!

Das obige ist der detaillierte Inhalt vonErste Schritte mit Apache Kafka. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn