Milvus
Zilliz
Casa
  • Guida all'amministrazione
  • Home
  • Docs
  • Guida all'amministrazione

  • Interruttore Tipo MQ

  • Interruttore Milvus Cluster Tipo MQ

Cambio del tipo di MQ per il cluster Milvus

Questo argomento descrive come cambiare il tipo di coda di messaggi (MQ) per un cluster Milvus esistente. Milvus supporta la commutazione online di MQ tra Pulsar, Kafka e Woodpecker senza tempi di inattività.

Questa funzione è in attesa di rilascio ed è soggetta a modifiche. Contattate il supporto Milvus se volete provarla o se avete domande.

Prerequisiti

  • Un'istanza di cluster Milvus in funzione, installata tramite Milvus Operator o Helm.
  • L'istanza Milvus è stata aggiornata all'ultima versione che supporta la funzione Switch MQ.

Passaggio da Pulsar/Kafka a Woodpecker (MinIO)

Procedere come segue per cambiare il tipo di MQ da Pulsar o Kafka a Woodpecker con archiviazione MinIO.

Passo 1: Verificare che l'istanza Milvus sia in esecuzione

Prima di effettuare il passaggio, assicuratevi che l'istanza del cluster Milvus funzioni correttamente. Si può verificare creando una raccolta di prova, inserendo i dati ed eseguendo una query.

Passo 2: (Facoltativo) Verificare la configurazione di Woodpecker

La configurazione predefinita di Milvus imposta già il tipo di archiviazione di Woodpecker su MinIO, quindi nella maggior parte dei casi non è necessaria alcuna configurazione aggiuntiva.

Tuttavia, se la configurazione di Woodpecker è stata precedentemente personalizzata, è necessario assicurarsi che woodpecker.storage.type sia impostato su minio. Aggiornare la configurazione di Milvus senza modificare il valore mqType:

woodpecker:
  storage:
    type: minio

Passo 3: Eseguire lo switch MQ

Eseguite il seguente comando per attivare il passaggio a Woodpecker:

curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
  -H "Content-Type: application/json" \
  -d '{"target_wal_name": "woodpecker"}'

Sostituite <mixcoord_addr> con l'indirizzo effettivo del vostro servizio MixCoord.

Fase 4: Verificare il completamento del passaggio

Il processo di passaggio si completa automaticamente. Monitorare i log di Milvus per i seguenti messaggi chiave per confermare che il passaggio è stato completato:

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

Nei messaggi di log sopra riportati, <MQ1> è il tipo di MQ di origine (ad esempio, pulsar o kafka) e <MQ2> è il tipo di MQ di destinazione (woodpecker).

  • Il primo messaggio indica che il passaggio del WAL dall'origine alla destinazione è stato completato.
  • Il secondo messaggio indica che tutti i canali fisici sono stati commutati.
  • Il terzo messaggio indica che la configurazione di mq.type è stata aggiornata in etcd.

Passaggio da Woodpecker (MinIO) a Pulsar o Kafka

Seguite questi passaggi per cambiare il tipo di MQ da Woodpecker a Pulsar o Kafka.

Passo 1: Verificare che l'istanza Milvus sia in esecuzione

Prima di effettuare il passaggio, assicurarsi che l'istanza del cluster Milvus funzioni correttamente.

Passo 2: Configurare l'MQ di destinazione

Prima di attivare lo switch, è necessario assicurarsi che il servizio MQ di destinazione (Pulsar o Kafka) sia disponibile e che la sua configurazione di accesso sia resa nella configurazione di Milvus.

I passaggi esatti di questa sezione dipendono dall'utilizzo di un servizio MQ interno (in bundle) o esterno.

Opzione A: Pulsar/Kafka interno (in bundle con Helm)

Se si utilizza Pulsar o Kafka in bundle con Helm, aggiornare la release di Helm per abilitare il servizio MQ di destinazione e disabilitare Woodpecker. Il flag streaming.enabled=true è necessario per abilitare lo Streaming Node, che è un prerequisito per la funzione Switch MQ. Ad esempio, per passare a Pulsar:

helm upgrade -i my-release milvus/milvus \
  --set pulsarv3.enabled=true \
  --set woodpecker.enabled=false \
  --set streaming.enabled=true \
  -f values.yaml

Dopo l'aggiornamento, verificare che la configurazione di accesso MQ di destinazione sia stata resa nella configurazione di Milvus. Ad esempio, per Pulsar:

pulsar:
  address: <pulsar-proxy-address>
  port: 6650

Opzione B: Pulsar/Kafka interno (gestito da Milvus Operator)

Se si utilizza Milvus Operator, aggiornare la risorsa personalizzata di Milvus per includere la configurazione di accesso MQ di destinazione. Per maggiori dettagli sull'aggiornamento della configurazione di Milvus, consultare Configurazione di Milvus con Milvus Operator.

Opzione C: Pulsar/Kafka esterno

Se si utilizza un servizio Pulsar o Kafka esterno, non è necessario modificare il sito mqType. È sufficiente aggiungere la configurazione di accesso MQ esterno al sito values.yaml e riavviare l'istanza Milvus per eseguire la configurazione.

Passo 3: Eseguire lo switch MQ

Eseguire il seguente comando per attivare il passaggio a Pulsar (sostituire pulsar con kafka se si passa a Kafka):

curl -X POST http://<mixcoord_addr>:9091/management/wal/alter \
  -H "Content-Type: application/json" \
  -d '{"target_wal_name": "pulsar"}'

Sostituire <mixcoord_addr> con l'indirizzo effettivo del servizio MixCoord.

Passo 4: Verificare il completamento del passaggio

Il processo di passaggio si completa automaticamente. Monitorare i log di Milvus per i seguenti messaggi chiave per confermare il completamento del passaggio:

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

Nei messaggi di log sopra riportati, <MQ1> è il tipo di MQ di origine (woodpecker) e <MQ2> è il tipo di MQ di destinazione (ad esempio, pulsar o kafka).

  • Il primo messaggio indica che il passaggio del WAL dall'origine alla destinazione è stato completato.
  • Il secondo messaggio indica che tutti i canali fisici sono stati commutati.
  • Il terzo messaggio indica che la configurazione di mq.type è stata aggiornata in etcd.