milvus-logo
LFAI
Home
  • Ferramentas

Implantar o servidor CDC

Este guia fornece um processo passo-a-passo para a implantação de um servidor Milvus-CDC.

Pré-requisitos

Assegure-se de que as seguintes condições sejam atendidas antes de implantar um servidor Milvus-CDC:

  • Instâncias do Milvus: Tanto o Milvus de origem quanto pelo menos um Milvus de destino devem estar implantados e operacionais.

    • As versões do Milvus de origem e de destino devem ser 2.3.2 ou superior, de preferência 2.4.x. Recomendamos a utilização da mesma versão para o Milvus de origem e de destino para garantir a compatibilidade.

    • Defina a configuração common.ttMsgEnabled do Milvus de destino para false.

    • Configure o Milvus de origem e o Milvus de destino com definições distintas de meta e armazenamento de mensagens para evitar conflitos. Por exemplo, evite usar as mesmas configurações de etcd e rootPath, bem como serviços Pulsar idênticos e chanNamePrefix em várias instâncias do Milvus.

  • Metastore: Tenha um banco de dados etcd ou MySQL pronto para o metastore do Milvus-CDC.

Etapas

Obter o arquivo de configuração do Milvus-CDC

Clone o repositório Milvus-CDC e navegue até ao diretório milvus-cdc/server/configs para aceder ao ficheiro de configuração cdc.yaml.

git clone https://github.com/zilliztech/milvus-cdc.git

cd milvus-cdc/server/configs

Editar o ficheiro de configuração

No diretório milvus-cdc/server/configs, modifique o ficheiro cdc.yaml para personalizar as configurações relacionadas com o metastore do Milvus-CDC e os detalhes de ligação do Milvus de origem.

  • Configuração do metastore:

    • metaStoreConfig.storeType: Tipo de metastore para o Milvus-CDC. Os valores possíveis são etcd ou mysql.

    • metaStoreConfig.etcdEndpoints: Endereço de ligação ao etcd do Milvus-CDC. Obrigatório se storeType estiver definido como etcd.

    • metaStoreConfig.mysqlSourceUrl: Endereço de ligação da base de dados MySQL para o servidor Milvus-CDC. Obrigatório se storeType estiver definido como mysql.

    • metaStoreConfig.rootPath: Caminho da raiz do metastore do Milvus-CDC. Esta configuração permite o multilocatário, permitindo que vários serviços CDC utilizem a mesma instância etcd ou MySQL, ao mesmo tempo que obtêm o isolamento através de diferentes caminhos de raiz.

    Exemplo de configuração:

    # cdc meta data config
    metaStoreConfig:
      # the metastore type, available value: etcd, mysql
      storeType: etcd
      # etcd address
      etcdEndpoints:
        - localhost:2379
      # mysql connection address
      # mysqlSourceUrl: root:root@tcp(127.0.0.1:3306)/milvus-cdc?charset=utf8
      # meta data prefix, if multiple cdc services use the same store service, you can set different rootPaths to achieve multi-tenancy
      rootPath: cdc
    
  • Configuração do Milvus de origem:

    Especifique os detalhes de ligação do Milvus de origem, incluindo o etcd e o armazenamento de mensagens, para estabelecer uma ligação entre o servidor Milvus-CDC e o Milvus de origem.

    • sourceConfig.etcdAddress: Endereço para conexão com o etcd do Milvus de origem. Para mais informações, consulte Configurações relacionadas com o etcd.

    • sourceConfig.etcdRootPath: Prefixo da raiz da chave onde o Milvus de origem armazena os dados no etcd. O valor pode variar com base no método de implantação da instância do Milvus:

      • Helm ou Docker Compose: A predefinição é by-dev.

      • Operator (Operador): O valor predefinido é <release_name>.

    • replicateChanNome do canal de replicação do milvus, que é {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} no ficheiro milvus.yaml

    • sourceConfig.pulsar: Configurações do Pulsar para o Milvus de origem. Se o Milvus de origem usa Kafka para armazenamento de mensagens, remova todas as configurações relacionadas ao Pulsar. Para obter mais informações, consulte Configurações relacionadas ao Pulsar.

    • sourceConfig.kafka.address: Endereço do Kafka para o Milvus de origem. Descomente esta configuração se o Milvus de origem usa Kafka para armazenamento de mensagens.

Exemplo de configuração:

# milvus-source config, these settings are basically the same as the corresponding configuration of milvus.yaml in milvus source.
sourceConfig:
  # etcd config
  etcdAddress:
    - localhost:2379
  etcdRootPath: by-dev
  etcdMetaSubPath: meta
  # default partition name
  defaultPartitionName: _default
  # read buffer length, mainly used for buffering if writing data to milvus-target is slow.
  readChanLen: 10
  replicateChan: by-dev-replicate-msg
  # milvus-source mq config, which is pulsar or kafka
  pulsar:
    address: pulsar://localhost:6650
    webAddress: localhost:80
    maxMessageSize: 5242880
    tenant: public
    namespace: default
#    authPlugin: org.apache.pulsar.client.impl.auth.AuthenticationToken
#    authParams: token:xxx
#  kafka:
#    address: 127.0.0.1:9092

Compilar o servidor Milvus-CDC

Depois de guardar o ficheiro cdc.yaml, navegue até ao diretório milvus-cdc e execute um dos seguintes comandos para compilar o servidor:

  • Para um ficheiro binário:

    make build
    
  • Para uma imagem do Docker:

    bash build_image.sh
    

    Para uma imagem Docker, monte o ficheiro compilado em /app/server/configs/cdc.yaml dentro do contentor.

Iniciar o servidor

  • Usando o binário

    Navegue até o diretório que contém o binário milvus-cdc e o diretório configs com o arquivo cdc.yaml e, em seguida, inicie o servidor:

    # dir tree
    .
    ├── milvus-cdc # build from source code or download from release page
    ├── configs
    │   └── cdc.yaml # config for cdc and source milvus
    
    # start milvus cdc
    ./milvus-cdc server
    
  • Usando o Docker Compose:

    docker compose up -d
    

Traduzido porDeepLogo

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?