Verbindung von Apache Kafka® mit Milvus/Zilliz Cloud für Echtzeit-Vektordaten-Ingestion
In dieser Schnellstartanleitung zeigen wir, wie man Open Source Kafka und Zilliz Cloud für die Aufnahme von Vektordaten einrichtet.
In diesem Tutorial wird erklärt, wie Apache Kafka® zum Streamen und Aufnehmen von Vektordaten in die Milvus-Vektordatenbank und die Zilliz-Cloud (vollständig verwaltetes Milvus) verwendet wird, um fortschrittliche Echtzeitanwendungen wie semantische Suche, Empfehlungssysteme und KI-gestützte Analysen zu ermöglichen.
Apache Kafka ist eine verteilte Event-Streaming-Plattform, die für Pipelines mit hohem Durchsatz und geringer Latenz entwickelt wurde. Sie wird häufig zum Sammeln, Speichern und Verarbeiten von Echtzeit-Datenströmen aus Quellen wie Datenbanken, IoT-Geräten, mobilen Apps und Cloud-Diensten verwendet. Die Fähigkeit von Kafka, große Datenmengen zu verarbeiten, macht es zu einer wichtigen Datenquelle für Vektordatenbanken wie Milvus oder Zilliz Cloud.
Kafka kann beispielsweise Echtzeit-Datenströme - wie Benutzerinteraktionen oder Sensormesswerte - zusammen mit ihren Einbettungen aus maschinellen Lernmodellen erfassen und diese Ströme direkt in Milvus oder Zilliz Cloud veröffentlichen. Einmal in der Vektordatenbank angekommen, können diese Daten effizient indiziert, durchsucht und analysiert werden.
Die Kafka-Integration mit Milvus und Zilliz Cloud bietet eine nahtlose Möglichkeit zum Aufbau leistungsstarker Pipelines für unstrukturierte Daten-Workflows. Der Konnektor funktioniert sowohl für den Einsatz von Open-Source-Kafka als auch für gehostete Dienste wie Confluent und StreamNative.
In diesem Tutorial verwenden wir Zilliz Cloud als Demonstration:
Schritt 1: Herunterladen des kafka-connect-milvus-Plugins
Führen Sie die folgenden Schritte aus, um das kafka-connect-milvus-Plugin herunterzuladen.
- Laden Sie die neueste Plugin-Zip-Datei
zilliz-kafka-connect-milvus-xxx.zipvon hier herunter.
Schritt 2: Kafka herunterladen
- Laden Sie die neueste Kafka-Version von hier herunter.
- Entpacken Sie die heruntergeladene Datei und wechseln Sie in das Kafka-Verzeichnis.
$ tar -xzf kafka_2.13-3.6.1.tgz
$ cd kafka_2.13-3.6.1
SCHRITT 3: Starten Sie die Kafka-Umgebung
HINWEIS: In Ihrer lokalen Umgebung muss Java 8+ installiert sein.
Führen Sie die folgenden Befehle aus, um alle Dienste in der richtigen Reihenfolge zu starten:
Starten Sie den ZooKeeper-Dienst
$ bin/zookeeper-server-start.sh config/zookeeper.propertiesStarten Sie den Kafka-Broker-Dienst
Öffnen Sie eine weitere Terminalsitzung und führen Sie den Befehl aus:
$ bin/kafka-server-start.sh config/server.properties
Sobald alle Dienste erfolgreich gestartet wurden, verfügen Sie über eine grundlegende Kafka-Umgebung, die sofort einsatzbereit ist.
- Einzelheiten finden Sie in der offiziellen Schnellstartanleitung für Kafka: https://kafka.apache.org/quickstart
Schritt 4: Konfigurieren Sie Kafka und Zilliz Cloud
Stellen Sie sicher, dass Sie Kafka und Zilliz Cloud eingerichtet und richtig konfiguriert haben.
Wenn Sie noch kein Topic in Kafka haben, erstellen Sie ein Topic (z.B.
topic_0) in Kafka.$ bin/kafka-topics.sh --create --topic topic_0 --bootstrap-server localhost:9092Wenn Sie noch keine Sammlung in Zilliz Cloud haben, erstellen Sie eine Sammlung mit einem Vektorfeld (in diesem Beispiel hat der Vektor
dimension=8). Sie können das folgende Beispielschema auf Zilliz Cloud verwenden:
Hinweis: Achten Sie darauf, dass die Schemata auf beiden Seiten übereinstimmen. In dem Schema gibt es genau ein Vektorfeld. Die Namen der einzelnen Felder auf beiden Seiten sind exakt gleich.
Schritt 5: Laden Sie das kafka-connect-milvus-Plugin in die Kafka-Instanz
Entpacken Sie die Datei
zilliz-kafka-connect-milvus-xxx.zip, die Sie in Schritt 1 heruntergeladen haben.Kopieren Sie die Verzeichnisse
zilliz-kafka-connect-milvusin das VerzeichnislibsIhrer Kafka-Installation.Ändern Sie die Datei
connect-standalone.propertiesim VerzeichnisconfigIhrer Kafka-Installation.key.converter.schemas.enable=false value.converter.schemas.enable=false plugin.path=libs/zilliz-kafka-connect-milvus-xxxErstellen und konfigurieren Sie eine
milvus-sink-connector.properties-Datei imconfig-Verzeichnis Ihrer Kafka-Installation.name=zilliz-kafka-connect-milvus connector.class=com.milvus.io.kafka.MilvusSinkConnector public.endpoint=https://<public.endpoint>:port token=***************************************** collection.name=topic_0 topics=topic_0
Schritt 6: Starten Sie den Konnektor
Starten Sie den Konnektor mit der vorherigen Konfigurationsdatei
$ bin/connect-standalone.sh config/connect-standalone.properties config/milvus-sink-connector.propertiesVersuchen Sie, eine Nachricht an das soeben erstellte Kafka-Topic in Kafka zu erzeugen
bin/kafka-console-producer.sh --topic topic_0 --bootstrap-server localhost:9092 >{"id": 0, "title": "The Reported Mortality Rate of Coronavirus Is Not Important", "title_vector": [0.041732933, 0.013779674, -0.027564144, -0.013061441, 0.009748648, 0.00082446384, -0.00071647146, 0.048612226], "link": "https://medium.com/swlh/the-reported-mortality-rate-of-coronavirus-is-not-important-369989c8d912"}Prüfen Sie, ob die Entität in die Sammlung in Zilliz Cloud eingefügt wurde. So sieht es auf Zilliz Cloud aus, wenn die Einfügung erfolgreich war:

Unterstützung
Wenn Sie Unterstützung benötigen oder Fragen zum Kafka Connect Milvus Connector haben, wenden Sie sich bitte an den Maintainer des Connectors: E-Mail: support@zilliz.com