Passaggio da RocksMQ a Woodpecker
Questa pagina descrive come passare dalla coda di messaggi (MQ) di una distribuzione Milvus Standalone (Docker Compose) da RocksMQ a Woodpecker (backend locale o MinIO) e viceversa. Per il flusso di lavoro generale e i prerequisiti, consultare Passare da una coda di messaggi all'altra.
- Prerequisito: la funzionalità "Cambio di coda dei messaggi" è disponibile in Milvus 3.0 e versioni successive. Aggiornare l’istanza di Milvus a Milvus 3.0 o versioni successive prima di iniziare: la funzionalità non è disponibile nelle versioni precedenti.
- Il cambio di coda dei messaggi richiede la distribuzione Docker Compose (che abilita una sorgente di configurazione etcd). La distribuzione Docker a container singolo non supporta il cambio.
Passaggio da RocksMQ a Woodpecker
Passaggio 1: verificare che l’istanza Milvus sia in esecuzione
Verifica che la tua istanza Milvus Standalone Docker Compose sia in esecuzione corretta — ad esempio, creando una raccolta di prova, inserendo dati ed eseguendo una query.
Passaggio 2: configurare l’archiviazione Woodpecker
Aggiungere le impostazioni di Woodpecker alla configurazione di Milvus senza modificare il valore di ` mqType `. Eseguire ` docker exec -it milvus-standalone bash ` per accedere al container, quindi modificare ` /milvus/configs/user.yaml`:
woodpecker:
storage:
type: minio # minio or local
Riavviare l’istanza di Milvus per applicare la configurazione:
docker compose restart
Passaggio 3: Eseguire il passaggio a MQ
Se è la prima volta che si passa a Woodpecker, ignorare questa nota. In caso contrario, ripulire i metadati e i dati residui di Woodpecker prima di effettuare nuovamente il passaggio: i dati residui potrebbero causare comportamenti imprevisti.
curl -X POST http://<mixcoord_addr>:<mixcoord_port>/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "woodpecker"}'
La porta MixCoord è in genere 9091.
Passaggio 4: Verifica che il passaggio sia stato completato
docker logs milvus-standalone | grep "successfully updated mq.type configuration in etcd"
Se il passaggio va a buon fine, viene registrato il messaggio [mqTypeValue=woodpecker].
Passaggio 5: (Facoltativo) Rimuovere i dati di RocksMQ
I dati di RocksMQ si trovano nelle directory volumes/milvus/rdb_data e volumes/milvus/rdb_data_meta_kv definite in docker-compose.yaml. Se prevedi di tornare a RocksMQ in un secondo momento, elimina prima questi file per evitare conflitti.
Passaggio da Woodpecker a RocksMQ
Passaggio 1: Verificare che l’istanza di Milvus sia in esecuzione
Assicurarsi che l’istanza Docker Compose di Milvus Standalone sia in esecuzione corretta.
Passaggio 2: Eseguire il passaggio a MQ
Assicurarsi che l’istanza non contenga dati residui di RocksMQ derivanti da un’esecuzione precedente. Se è la prima volta che si esegue il passaggio a RocksMQ, ignorare questa nota; in caso contrario, eliminare prima i metadati e i dati relativi a RocksMQ.
curl -X POST http://<mixcoord_addr>:<mixcoord_port>/management/wal/alter \
-H "Content-Type: application/json" \
-d '{"target_wal_name": "rocksmq"}'
Passaggio 3: Verifica che il passaggio sia stato completato
docker logs milvus-standalone | grep "successfully updated mq.type configuration in etcd"
Se il passaggio va a buon fine, viene registrato il messaggio « [mqTypeValue=rocksmq] ».
Passaggio 4: (Facoltativo) Pulizia dei dati di Woodpecker
- Metadati (etcd): il prefisso della chiave Woodpecker è in genere
woodpecker/.... Visualizzarlo conetcdctl get woodpecker --prefix, quindi eliminarlo. - Dati di archiviazione: in modalità MinIO, eliminare i dati di log presenti in
<rootPath>/wp/...(in generefiles/wp/...) nel bucket; in modalità locale, i dati si trovano sul disco locale involumes/milvus/data/wp/....
Se si prevede di tornare a Woodpecker in un secondo momento, è necessario prima ripulire questi file per evitare conflitti.
Scenari supportati
| MQ di origine | MQ di destinazione | Stato | Note |
|---|---|---|---|
| RocksMQ | Woodpecker (MinIO/locale) | Supportato | |
| Woodpecker (MinIO/locale) | RocksMQ | Supportato | |
| Woodpecker MinIO | Woodpecker locale | Non supportato | Il passaggio tra le modalità di archiviazione di Woodpecker richiede una gestione aggiuntiva dei metadati, che non è ancora supportata. |
| Woodpecker locale | Woodpecker MinIO | Non supportato | Come sopra. |
| RocksMQ / Woodpecker | Pulsar / Kafka esterno | Supportato ma non raccomandato | Mantenere le istanze standalone il più semplici possibile. |