Changement de type MQ pour Milvus Standalone
Cette rubrique décrit comment changer le type de file d'attente de messages (MQ) pour un déploiement Milvus autonome existant. Milvus prend en charge le changement de type MQ en ligne sans temps d'arrêt.
Cette fonctionnalité est en attente de publication et peut faire l'objet de modifications. Veuillez contacter le support Milvus si vous souhaitez l'essayer ou si vous avez des questions.
Conditions préalables
- Une instance Milvus Standalone en cours d'exécution installée via Docker ou Docker Compose.
- L'instance Milvus a été mise à niveau vers la dernière version qui prend en charge cette fonctionnalité Switch MQ.
Flux de travail général
Le processus général de changement de type MQ est le suivant :
- S'assurer que l'instance Milvus fonctionne correctement.
- Confirmer le type de MQ source et le type de MQ cible.
- Configurer les paramètres d'accès du MQ cible dans la configuration Milvus sans modifier la valeur
mqType. - Déclencher le basculement en appelant l'API WAL alter.
- Surveillez les journaux pour vérifier que le basculement s'est bien déroulé.
Avant de procéder au basculement, assurez-vous que le MQ cible ne contient pas de rubriques portant les mêmes noms que celles utilisées par l'instance Milvus actuelle. Ceci est particulièrement important si le service MQ cible a été précédemment utilisé par une autre instance Milvus, car des noms de rubriques conflictuels peuvent entraîner un comportement inattendu.
Passage de RocksMQ à Woodpecker (stockage local)
Cette procédure s'applique aux déploiements Milvus Standalone Docker qui utilisent RocksMQ par défaut.
Étape 1 : Vérifier que l'instance Milvus est en cours d'exécution
Assurez-vous que votre instance Milvus Standalone Docker fonctionne correctement. Vous pouvez le vérifier en créant une collection de test, en insérant des données et en exécutant une requête.
Étape 2 : Configurer Woodpecker avec le stockage local
Mettez à jour la configuration Milvus pour ajouter les paramètres Woodpecker sans modifier la valeur mqType. Créer ou mettre à jour le fichier user.yaml avec le contenu suivant :
woodpecker:
storage:
type: local
Redémarrer ensuite l'instance Milvus pour appliquer la configuration :
bash standalone_embed.sh restart
Étape 3 : Exécuter le commutateur MQ
Exécuter la commande suivante pour déclencher le passage à Woodpecker :
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Remplacer <mixcoord_addr> par l'adresse réelle de votre service MixCoord (par défaut, localhost pour les déploiements autonomes).
Étape 4 : Vérifier que le basculement est terminé
Le processus de basculement se termine automatiquement. Surveillez les messages clés suivants dans les journaux Milvus pour confirmer que le basculement est terminé :
WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd
Dans les messages ci-dessus, <MQ1> est le type MQ source (rocksmq) et <MQ2> est le type MQ cible (woodpecker).
- Le premier message indique que le basculement WAL de la source vers la cible est terminé.
- Le deuxième message indique que tous les canaux physiques ont été commutés.
- Le troisième message indique que la configuration de
mq.typea été mise à jour dans etcd.
Passage de RocksMQ à Woodpecker (stockage MinIO)
Cette procédure s'applique aux déploiements Milvus Standalone Docker Compose.
A partir de Milvus v2.6, la configuration par défaut docker-compose.yaml déclare déjà mqType comme étant Woodpecker. A moins d'avoir modifié la configuration par défaut ou d'avoir effectué une mise à niveau à partir de la version 2.5, cette procédure n'est peut-être pas nécessaire.
Etape 1 : Vérifier que l'instance Milvus est en cours d'exécution
Assurez-vous que votre instance Milvus Standalone Docker Compose fonctionne correctement.
Étape 2 : (Facultatif) Vérifier la configuration de Woodpecker
La configuration par défaut de Milvus définit déjà le type de stockage Woodpecker sur MinIO, de sorte qu'aucune configuration supplémentaire n'est requise dans la plupart des cas.
Toutefois, si vous avez précédemment personnalisé la configuration de Woodpecker, vous devez vous assurer que woodpecker.storage.type est défini sur minio. Créez ou mettez à jour le fichier user.yaml avec le contenu suivant :
woodpecker:
storage:
type: minio
Redémarrez ensuite l'instance Milvus pour appliquer la configuration :
docker compose down
docker compose up -d
Étape 3 : Exécuter le commutateur MQ
Exécutez la commande suivante pour déclencher le passage à Woodpecker :
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Remplacer <mixcoord_addr> par l'adresse réelle de votre service MixCoord (par défaut, localhost pour les déploiements autonomes).
Étape 4 : Vérifier que le basculement est terminé
Le processus de basculement se termine automatiquement. Surveillez les messages clés suivants dans les journaux Milvus pour confirmer que le basculement est terminé :
WAL switch success: <MQ1> switch to <MQ2> finish, re-opening required
AlterWAL broadcast message acknowledged by all vchannels
successfully updated mq.type configuration in etcd
Dans les messages ci-dessus, <MQ1> est le type MQ source (rocksmq) et <MQ2> est le type MQ cible (woodpecker).
- Le premier message indique que le basculement WAL de la source vers la cible est terminé.
- Le deuxième message indique que tous les canaux physiques ont été commutés.
- Le troisième message indique que la configuration de
mq.typea été mise à jour dans etcd.