Depuis Milvus 2.3.x
Ce guide fournit un processus complet, étape par étape, de migration des données de Milvus 2.3.x vers Milvus 2.3.x ou supérieur.
Conditions préalables
- Versions du logiciel:
- Milvus source : 2.3.0+ (L'outil utilise l'itérateur pour récupérer les données de collecte source, ce qui nécessite que Milvus source soit la version 2.3.0 ou supérieure).
- Milvus cible : 2.3.0+.
- Outils requis:
- OutilMilvus-migration. Pour plus de détails sur l'installation, voir Installer l'outil de migration.
- Préparation des données:
- S'assurer que la collection Milvus source est chargée et prête pour l'exportation des données.
- Si le Milvus cible ne contient pas de collection correspondant à la collection source, l'outil milvus-migration la créera automatiquement. Notez qu'après la migration, la collection cible ne sera pas indexée et que vous devrez l'indexer manuellement par la suite.
Configurer le fichier de migration
Enregistrez le fichier de configuration de l'exemple de migration sous migration.yaml et modifiez les configurations en fonction de vos conditions réelles. Vous pouvez placer le fichier de configuration dans n'importe quel répertoire local.
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
Le tableau suivant décrit les paramètres du fichier de configuration de l'exemple. Pour plus d'informations, reportez-vous à Milvus Migration : Milvus2.x vers Milvus2.x.
dumperParamètre Description dumper.worker.workModeMode opérationnel de la tâche de migration. Défini sur milvus2x lors de la migration à partir de Milvus 2.x. dumper.worker.reader.bufferSizeTaille de la mémoire tampon à lire à partir de Milvus 2.x dans chaque lot. metaParamètre Description meta.modeSpécifie l'endroit où le métafichier est lu. La valeur config indique que la configuration méta peut être obtenue à partir de ce fichier migration.yaml. meta.versionVersion source de Milvus. Défini sur 2.3.0 ou supérieur. meta.collectionNom de la collection source. sourceParamètre Description source.milvus2x.endpointAdresse du serveur Milvus source. source.milvus2x.usernameNom d'utilisateur du serveur Milvus source. Ce paramètre est requis si l'authentification utilisateur est activée pour votre serveur Milvus. Pour plus d'informations, voir Activer l'authentification. source.milvus2x.passwordMot de passe du serveur Milvus source. Ce paramètre est requis si l'authentification utilisateur est activée pour votre serveur Milvus. Pour plus d'informations, voir Activer l'authentification. targetParamètre Description de l'adresse du serveur Milvus cible target.milvus2x.endpointAdresse du serveur Milvus cible. target.milvus2x.usernameNom d'utilisateur du serveur Milvus cible. Ce paramètre est requis si l'authentification utilisateur est activée pour votre serveur Milvus. Pour plus d'informations, voir Activer l'authentification. target.milvus2x.passwordMot de passe du serveur Milvus cible. Ce paramètre est requis si l'authentification utilisateur est activée pour votre serveur Milvus. Pour plus d'informations, voir Activer l'authentification.
Démarrer la tâche de migration
Vous avez deux options pour démarrer la tâche de migration : utiliser le CLI ou effectuer des requêtes API. Choisissez celle qui correspond le mieux à vos besoins.
Option 1 : Utilisation de l'interface de programmation
Lancez la tâche de migration à l'aide de la commande suivante. Remplacez {YourConfigFilePath} par le répertoire local où se trouve le fichier de configuration migration.yaml.
./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml
Surveillez les journaux pour connaître l'état d'avancement de la migration. Les journaux de migration réussie devraient contenir des entrées telles que :
[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 : Faire des demandes d'API
Vous pouvez également utiliser l'API Restful pour exécuter la migration. Démarrez le serveur API avec :
./milvus-migration server run -p 8080
Une fois le serveur démarré avec succès, placez le fichier migration.yaml dans le répertoire configs/ du projet et démarrez la migration avec :
curl -XPOST http://localhost:8080/api/v1/start
Vérifier le résultat
Une fois la tâche de migration terminée, utilisez Attu pour afficher le nombre d'entités migrées. En outre, vous pouvez créer des index et charger des collections dans Attu. Pour plus d'informations, reportez-vous à Attu et get_collection_stats().
Options de configuration supplémentaires
Outre les configurations de base mentionnées ci-dessus, vous pouvez également ajouter des paramètres supplémentaires en fonction de vos besoins spécifiques.
Migration sélective des champs: Si vous avez besoin de migrer uniquement des champs spécifiques dans une collection plutôt que tous les champs, spécifiez les champs à migrer dans la section
metadu fichiermigration.yaml.meta: fields: - name: id - name: title_vector - name: reading_timeCollection cible personnalisée: Pour personnaliser les propriétés de la collection cible, ajoutez les configurations correspondantes dans la section
metadu fichiermigration.yaml.meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized
Pour des informations détaillées, voir Milvus Migration : Milvus2.x à Milvus2.x.