Von Milvus 2.3.x
Diese Anleitung bietet einen umfassenden, schrittweisen Prozess für die Migration von Daten von Milvus 2.3.x nach Milvus 2.3.x oder höher.
Voraussetzungen
- Software-Versionen:
- Quell-Milvus: 2.3.0+ (Das Tool verwendet den Iterator, um Daten aus der Quellensammlung zu holen, weshalb die Quell-Milvus-Version 2.3.0 oder höher sein muss).
- Ziel-Milvus: 2.3.0+
- Erforderliche Werkzeuge:
- Milvus-Migrationswerkzeug. Einzelheiten zur Installation finden Sie unter Migrationswerkzeug installieren.
- Vorbereitung der Daten:
- Stellen Sie sicher, dass die Milvus-Quellensammlung geladen und für den Datenexport bereit ist.
- Wenn die Ziel-Milvus-Sammlung keine Sammlung enthält, die der Quell-Sammlung entspricht, wird sie vom Milvus-Migrationswerkzeug automatisch erstellt. Beachten Sie, dass die Zielsammlung nach der Migration nicht indiziert wird und Sie die Sammlung anschließend manuell indizieren müssen.
Konfigurieren Sie die Migrationsdatei
Speichern Sie die Beispiel-Migrationskonfigurationsdatei unter migration.yaml
und ändern Sie die Konfigurationen auf der Grundlage Ihrer tatsächlichen Bedingungen. Es steht Ihnen frei, die Konfigurationsdatei in einem beliebigen lokalen Verzeichnis abzulegen.
dumper:
worker:
workMode: milvus2x
reader:
bufferSize: 500
meta:
mode: config
version: 2.3.0
collection: src_table_name
source:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
target:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
In der folgenden Tabelle werden die Parameter in der Beispielkonfigurationsdatei beschrieben. Weitere Informationen finden Sie in Milvus Migration: Milvus2.x zu Milvus2.x.
dumper
Parameter Beschreibung dumper.worker.workMode
Der Betriebsmodus des Migrationsauftrags. Setzen Sie ihn auf milvus2x, wenn Sie von Milvus 2.x migrieren. dumper.worker.reader.bufferSize
Puffergröße, die in jedem Batch aus Milvus 2.x gelesen wird. meta
Parameter Beschreibung meta.mode
Gibt an, woher die Metadatei gelesen wird. Wird auf config gesetzt, bedeutet dies, dass die Metakonfiguration aus dieser migration.yaml-Datei bezogen werden kann. meta.version
Quell-Milvus-Version. Festgelegt auf 2.3.0 oder höher. meta.collection
Name der Quellensammlung. source
Parameter Beschreibung source.milvus2x.endpoint
Adresse des Milvus-Quellservers. source.milvus2x.username
Benutzername für den Milvus-Quellserver. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung. source.milvus2x.password
Passwort für den Milvus-Quellserver. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung. target
Parameter Beschreibung target.milvus2x.endpoint
Adresse des Ziel-Milvus-Servers. target.milvus2x.username
Benutzername für den Milvus-Zielserver. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung. target.milvus2x.password
Passwort für den Milvus-Zielserver. Dieser Parameter ist erforderlich, wenn die Benutzerauthentifizierung für Ihren Milvus-Server aktiviert ist. Weitere Informationen finden Sie unter Aktivieren der Authentifizierung.
Starten Sie die Migrationsaufgabe
Sie haben zwei Möglichkeiten, die Migrationsaufgabe zu starten - über CLI oder über API-Anfragen. Wählen Sie die Option, die Ihren Anforderungen am besten entspricht.
Option 1: Verwendung von CLI
Starten Sie die Migrationsaufgabe mit dem folgenden Befehl. Ersetzen Sie {YourConfigFilePath}
durch das lokale Verzeichnis, in dem sich die Konfigurationsdatei migration.yaml
befindet.
./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml
Überwachen Sie die Protokolle auf Fortschrittsaktualisierungen. Erfolgreiche Migrationsprotokolle sollten Einträge wie diesen enthalten:
[INFO] [migration/milvus2x_starter.go:79] ["=================>JobProcess!"] [Percent=100]
[INFO] [migration/milvus2x_starter.go:27] ["[Starter] migration Milvus2x to Milvus2x finish!!!"] [Cost=94.877717375]
[INFO] [starter/starter.go:109] ["[Starter] Migration Success!"] [Cost=94.878243583]
Option 2: API-Anforderungen stellen
Sie können auch die Restful-API verwenden, um die Migration durchzuführen. Starten Sie den API-Server mit:
./milvus-migration server run -p 8080
Sobald der Server erfolgreich gestartet ist, legen Sie die Datei migration.yaml
im Verzeichnis configs/
des Projekts ab und starten Sie die Migration mit:
curl -XPOST http://localhost:8080/api/v1/start
Überprüfen Sie das Ergebnis
Nachdem die Migration abgeschlossen ist, können Sie mit Attu die Anzahl der migrierten Entitäten anzeigen. Außerdem können Sie in Attu Indizes erstellen und Sammlungen laden. Weitere Informationen finden Sie unter Attu und get_collection_stats().
Zusätzliche Konfigurationsoptionen
Zusätzlich zu den oben erwähnten Basiskonfigurationen können Sie weitere Einstellungen auf der Grundlage Ihrer spezifischen Anforderungen hinzufügen.
Selektive Feldmigration: Wenn Sie nicht alle Felder, sondern nur bestimmte Felder in einer Sammlung migrieren möchten, geben Sie die zu migrierenden Felder im Abschnitt
meta
der Dateimigration.yaml
an.meta: fields: - name: id - name: title_vector - name: reading_time
Benutzerdefinierte Zielsammlung: Um die Eigenschaften der Zielsammlung anzupassen, fügen Sie die entsprechenden Konfigurationen im Abschnitt
meta
der Dateimigration.yaml
hinzu.meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized
Ausführliche Informationen finden Sie unter Milvus-Migration: Milvus2.x zu Milvus2.x.