milvus-logo
LFAI
Home
  • Herramientas

Desplegar un servidor CDC

Esta guía proporciona un proceso paso a paso para desplegar un servidor Milvus-CDC.

Requisitos previos

Asegúrese de que se cumplen las siguientes condiciones antes de desplegar un servidor Milvus-CDC:

  • Instancias de Milvus: Tanto el Milvus de origen como al menos un Milvus de destino deben estar desplegados y operativos.

    • Tanto la versión de Milvus de origen como la de destino deben ser 2.3.2 o superior, preferiblemente 2.4.x. Recomendamos utilizar la misma versión para Milvus de origen y de destino para garantizar la compatibilidad.

    • Establezca la configuración common.ttMsgEnabled del Milvus de destino en false.

    • Configure el Milvus de origen y de destino con distintas opciones de meta y almacenamiento de mensajes para evitar conflictos. Por ejemplo, evite utilizar las mismas configuraciones de etcd y rootPath, así como servicios Pulsar y chanNamePrefix idénticos en varias instancias Milvus.

  • Metastore: Tenga preparada una base de datos etcd o MySQL para el metastore de Milvus-CDC.

Pasos

Obtenga el archivo de configuración de Milvus-CDC

Clone el repositorio de Milvus-CDC y navegue hasta el directorio milvus-cdc/server/configs para acceder al archivo de configuración cdc.yaml.

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

cd milvus-cdc/server/configs

Edite el archivo de configuración

En el directorio milvus-cdc/server/configs, modifique el archivo cdc.yaml para personalizar las configuraciones relacionadas con el metastore de Milvus-CDC y los detalles de conexión del Milvus fuente.

  • Configuración del metastore:

    • metaStoreConfig.storeType: Tipo de metastore para Milvus-CDC. Los valores posibles son etcd o mysql.

    • metaStoreConfig.etcdEndpoints: Dirección para conectarse al etcd de Milvus-CDC. Obligatorio si storeType está configurado como etcd.

    • metaStoreConfig.mysqlSourceUrl: Dirección de conexión de la base de datos MySQL para el servidor Milvus-CDC. Obligatorio si storeType está configurado como mysql.

    • metaStoreConfig.rootPath: Ruta raíz del metastore de Milvus-CDC. Esta configuración permite el multi-tenancy, permitiendo que múltiples servicios CDC utilicen la misma instancia etcd o MySQL mientras se consigue el aislamiento a través de diferentes rutas raíz.

    Ejemplo de configuración:

    # 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
    
  • Configuración Milvus de origen:

    Especifique los detalles de conexión del Milvus de origen, incluyendo etcd y almacenamiento de mensajes, para establecer una conexión entre el servidor Milvus-CDC y el Milvus de origen.

    • sourceConfig.etcdAddress: Dirección para conectarse al etcd del Milvus de origen. Para más información, consulte Configuraciones relacionadas con etcd.

    • sourceConfig.etcdRootPath: Prefijo raíz de la clave donde el Milvus de origen almacena los datos en etcd. El valor puede variar en función del método de despliegue de la instancia Milvus:

      • Helm o Docker Compose: Por defecto by-dev.

      • Operator: Por defecto <release_name>.

    • replicateChanNombre del canal de replicación de milvus, que es {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} en el archivo milvus.yaml.

    • sourceConfig.pulsar: Configuraciones Pulsar para el Milvus fuente. Si el Milvus de origen utiliza Kafka para el almacenamiento de mensajes, elimine todas las configuraciones relacionadas con Pulsar. Para más información, consulte Configuraciones relacionadas con Pulsar.

    • sourceConfig.kafka.address: Dirección Kafka para el Milvus de origen. Descomente esta configuración si el Milvus de origen utiliza Kafka para el almacenamiento de mensajes.

Ejemplo de configuración:

# 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 el servidor Milvus-CDC

Después de guardar el archivo cdc.yaml, navegue hasta el directorio milvus-cdc y ejecute uno de los siguientes comandos para compilar el servidor:

  • Para un archivo binario:

    make build
    
  • Para una imagen Docker:

    bash build_image.sh
    

    Para una imagen Docker, monte el archivo compilado en /app/server/configs/cdc.yaml dentro del contenedor.

Iniciar el servidor

  • Con el archivo binario

    Navegue hasta el directorio que contiene el binario milvus-cdc y el directorio configs con el archivo cdc.yaml, e inicie el 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 Docker Compose:

    docker compose up -d
    

Traducido porDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

¿Fue útil esta página?