Milvus
Zilliz
Home
  • Guia de Administração
  • Home
  • Docs
  • Guia de Administração

  • Tipo de MQ de comutação

  • Interruptor de Cluster Milvus Tipo de MQ

Trocar o tipo de MQ para o Cluster Milvus

Este tópico descreve como alternar o tipo de fila de mensagens (MQ) para uma implantação de cluster Milvus existente. O Milvus suporta a troca de MQ online entre Pulsar, Kafka e Woodpecker sem tempo de inatividade.

Este recurso está pendente de lançamento e está sujeito a alterações. Entre em contato com o suporte do Milvus se quiser experimentá-lo ou tiver alguma dúvida.

Pré-requisitos

  • Uma instância de cluster Milvus em execução instalada via Milvus Operator ou Helm.
  • A instância do Milvus foi atualizada para a versão mais recente que suporta este recurso Switch MQ.

Mudar de Pulsar/Kafka para Woodpecker (MinIO)

Siga estes passos para mudar o tipo de MQ de Pulsar ou Kafka para Woodpecker com armazenamento MinIO.

Etapa 1: verificar se a instância do Milvus está em execução

Antes de mudar, certifique-se de que a instância do cluster do Milvus está a funcionar corretamente. É possível verificar isso criando uma coleção de teste, inserindo dados e executando uma consulta.

Etapa 2: (Opcional) Verificar a configuração do Woodpecker

A configuração padrão do Milvus já define o tipo de armazenamento do Woodpecker como MinIO, portanto, nenhuma configuração adicional é necessária na maioria dos casos.

No entanto, se você tiver personalizado anteriormente a configuração do Woodpecker, deverá garantir que woodpecker.storage.type esteja definido como minio. Atualize a configuração do Milvus sem alterar o valor de mqType:

woodpecker:
  storage:
    type: minio

Etapa 3: Executar a troca de MQ

Execute o seguinte comando para acionar a mudança para o Woodpecker:

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

Substitua <mixcoord_addr> pelo endereço real do seu serviço MixCoord.

Etapa 4: verificar se a troca foi concluída

O processo de troca é concluído automaticamente. Monitore os logs do Milvus em busca das seguintes mensagens-chave para confirmar que a troca foi concluída:

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

Nas mensagens de registo acima, <MQ1> é o tipo de MQ de origem (por exemplo, pulsar ou kafka) e <MQ2> é o tipo de MQ de destino (woodpecker).

  • A primeira mensagem indica que a troca de WAL da origem para o destino foi concluída.
  • A segunda mensagem indica que todos os canais físicos foram trocados.
  • A terceira mensagem indica que a configuração do mq.type foi actualizada no etcd.

Alternar do Woodpecker (MinIO) para o Pulsar ou o Kafka

Siga estas etapas para alternar o tipo de MQ do Woodpecker de volta para o Pulsar ou Kafka.

Etapa 1: verificar se a instância do Milvus está em execução

Antes de mudar, verifique se a instância do cluster do Milvus está funcionando corretamente.

Etapa 2: configurar o MQ de destino

Antes de acionar a troca, é necessário garantir que o serviço MQ de destino (Pulsar ou Kafka) esteja disponível e que sua configuração de acesso seja renderizada na configuração do Milvus.

Os passos exactos desta secção dependem da utilização de um serviço MQ interno (agrupado) ou externo.

Opção A: Pulsar/Kafka interno (empacotado com o Helm)

Se você estiver usando o Pulsar ou o Kafka empacotado implantado pelo Helm, atualize sua versão do Helm para habilitar o serviço MQ de destino e desabilitar o Woodpecker. O sinalizador streaming.enabled=true é necessário para habilitar o nó de streaming, que é um pré-requisito para o recurso Alternar MQ. Por exemplo, para mudar para o Pulsar:

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

Após a atualização, verifique se a configuração de acesso ao MQ de destino foi renderizada na configuração do Milvus. Por exemplo, para Pulsar:

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

Opção B: Pulsar/Kafka interno (gerido pelo Milvus Operator)

Se você estiver usando o Milvus Operator, atualize o recurso personalizado do Milvus para incluir a configuração de acesso ao MQ de destino. Consulte Configurar o Milvus com o Milvus Operator para obter detalhes sobre como atualizar a configuração do Milvus.

Opção C: Pulsar/Kafka externo

Se estiver a usar um serviço Pulsar ou Kafka externo, não é necessário alterar o mqType. Basta adicionar a configuração de acesso ao MQ externo ao seu values.yaml e reiniciar a instância do Milvus para renderizar a configuração.

Etapa 3: Executar a troca de MQ

Execute o seguinte comando para ativar a mudança para Pulsar (substitua pulsar por kafka se estiver a mudar para Kafka):

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

Substitua <mixcoord_addr> pelo endereço real do seu serviço MixCoord.

Etapa 4: verificar se a troca foi concluída

O processo de troca é concluído automaticamente. Monitore os logs do Milvus em busca das seguintes mensagens-chave para confirmar que a troca foi concluída:

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

Nas mensagens de registo acima, <MQ1> é o tipo de MQ de origem (woodpecker), e <MQ2> é o tipo de MQ de destino (por exemplo, pulsar ou kafka).

  • A primeira mensagem indica que a troca de WAL da origem para o destino foi concluída.
  • A segunda mensagem indica que todos os canais físicos foram trocados.
  • A terceira mensagem indica que a configuração do mq.type foi atualizada no etcd.