Cambiar el tipo de MQ para Milvus Standalone
Este tema describe cómo cambiar el tipo de cola de mensajes (MQ) para un despliegue independiente de Milvus existente. Milvus admite el cambio de MQ en línea sin tiempo de inactividad.
Esta característica está pendiente de lanzamiento y está sujeta a cambios. Póngase en contacto con el soporte de Milvus si desea probarla o si tiene alguna pregunta.
Requisitos previos
- Una instancia Milvus Standalone en ejecución instalada a través de Docker o Docker Compose.
- La instancia de Milvus se ha actualizado a la última versión compatible con esta función de Switch MQ.
Flujo de trabajo general
El flujo de trabajo general para cambiar el tipo de MQ es el siguiente:
- Asegúrese de que la instancia de Milvus se está ejecutando correctamente.
- Confirme el tipo de MQ de origen y el tipo de MQ de destino.
- Configure los ajustes de acceso del MQ de destino en la configuración de Milvus sin cambiar el valor
mqType. - Active el cambio llamando a la API WAL alter.
- Supervise los registros para comprobar que la conmutación se ha completado correctamente.
Antes de conmutar, asegúrese de que el MQ de destino no contiene temas con los mismos nombres que los utilizados por la instancia Milvus actual. Esto es especialmente importante si el servicio MQ de destino ha sido utilizado previamente por otra instancia de Milvus, ya que los nombres de temas conflictivos pueden provocar un comportamiento inesperado.
Cambiar de RocksMQ a Woodpecker (Almacenamiento local)
Este procedimiento se aplica a las implementaciones Milvus Standalone Docker que utilizan RocksMQ de forma predeterminada.
Paso 1: Verifique que la instancia de Milvus se está ejecutando
Asegúrese de que su instancia Milvus Standalone Docker está funcionando correctamente. Puede comprobarlo creando una colección de prueba, insertando datos y ejecutando una consulta.
Paso 2: Configurar Woodpecker con almacenamiento local
Actualice la configuración de Milvus para añadir la configuración de Woodpecker sin cambiar el valor de mqType. Cree o actualice el archivo user.yaml con el siguiente contenido:
woodpecker:
storage:
type: local
A continuación, reinicie la instancia de Milvus para aplicar la configuración:
bash standalone_embed.sh restart
Paso 3: Ejecutar el conmutador MQ
Ejecute el siguiente comando para activar el cambio a Woodpecker:
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Sustituya <mixcoord_addr> por la dirección real de su servicio MixCoord (por defecto, localhost para despliegues autónomos).
Paso 4: Compruebe que el cambio se ha completado
El proceso de cambio se completa automáticamente. Controle los registros de Milvus en busca de los siguientes mensajes clave para confirmar que el cambio ha finalizado:
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
En los mensajes de registro anteriores, <MQ1> es el tipo de MQ de origen (rocksmq), y <MQ2> es el tipo de MQ de destino (woodpecker).
- El primer mensaje indica que el cambio de WAL del origen al destino ha finalizado.
- El segundo mensaje indica que se han conmutado todos los canales físicos.
- El tercer mensaje indica que la configuración de
mq.typese ha actualizado en etcd.
Cambio de RocksMQ a Woodpecker (Almacenamiento MinIO)
Este procedimiento se aplica a los despliegues Milvus Standalone Docker Compose.
A partir de Milvus v2.6, la configuración por defecto docker-compose.yaml ya declara mqType como Woodpecker. A menos que haya modificado la configuración por defecto o actualizado desde v2.5, este procedimiento puede no ser necesario.
Paso 1: Verifique que la instancia de Milvus esté funcionando
Asegúrese de que su instancia Milvus Standalone Docker Compose se está ejecutando correctamente.
Paso 2: (Opcional) Verificar la configuración de Woodpecker
La configuración predeterminada de Milvus ya establece el tipo de almacenamiento de Woodpecker en MinIO, por lo que no se requiere ninguna configuración adicional en la mayoría de los casos.
Sin embargo, si ha personalizado previamente la configuración de Woodpecker, debe asegurarse de que woodpecker.storage.type está establecido en minio. Cree o actualice el archivo user.yaml con el siguiente contenido:
woodpecker:
storage:
type: minio
A continuación, reinicie la instancia de Milvus para aplicar la configuración:
docker compose down
docker compose up -d
Paso 3: Ejecutar el conmutador MQ
Ejecute el siguiente comando para activar el cambio a Woodpecker:
curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
Sustituya <mixcoord_addr> por la dirección real de su servicio MixCoord (por defecto, localhost para despliegues autónomos).
Paso 4: Compruebe que el cambio se ha completado
El proceso de cambio se completa automáticamente. Controle los registros de Milvus en busca de los siguientes mensajes clave para confirmar que el cambio ha finalizado:
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
En los mensajes de registro anteriores, <MQ1> es el tipo de MQ de origen (rocksmq), y <MQ2> es el tipo de MQ de destino (woodpecker).
- El primer mensaje indica que el cambio de WAL del origen al destino ha finalizado.
- El segundo mensaje indica que se han conmutado todos los canales físicos.
- El tercer mensaje indica que la configuración de
mq.typeha sido actualizada en etcd.