milvus-logo
LFAI
Home
  • Outils

Déployer le serveur CDC

Ce guide fournit une procédure étape par étape pour déployer un serveur Milvus-CDC.

Conditions préalables

Assurez-vous que les conditions suivantes sont remplies avant de déployer un serveur Milvus-CDC :

  • Instances Milvus: Le Milvus source et au moins un Milvus cible doivent être déployés et opérationnels.

    • Les versions de Milvus source et cible doivent être 2.3.2 ou supérieures, de préférence 2.4.x. Nous recommandons d'utiliser la même version pour les Milvus source et cible afin de garantir la compatibilité.

    • Définir la configuration common.ttMsgEnabled de la Milvus cible sur false.

    • Configurer les Milvus source et cible avec des paramètres distincts de méta et de stockage des messages afin d'éviter les conflits. Par exemple, évitez d'utiliser les mêmes configurations etcd et rootPath, ainsi que des services Pulsar et chanNamePrefix identiques dans plusieurs instances Milvus.

  • Métastore: Préparer une base de données etcd ou MySQL pour le métastore Milvus-CDC.

Etapes

Obtenir le fichier de configuration de Milvus-CDC

Clonez le repo Milvus-CDC et naviguez jusqu'au répertoire milvus-cdc/server/configs pour accéder au fichier de configuration cdc.yaml.

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

cd milvus-cdc/server/configs

Modifier le fichier de configuration

Dans le répertoire milvus-cdc/server/configs, modifiez le fichier cdc.yaml pour personnaliser les configurations liées au métastore Milvus-CDC et aux détails de connexion du Milvus source.

  • Configuration du métastore:

    • metaStoreConfig.storeType: Type de métastore pour Milvus-CDC. Les valeurs possibles sont etcd ou mysql.

    • metaStoreConfig.etcdEndpoints: Adresse de connexion au etcd de Milvus-CDC. Requis si storeType est défini sur etcd.

    • metaStoreConfig.mysqlSourceUrl: Adresse de connexion à la base de données MySQL du serveur Milvus-CDC. Requis si storeType est défini sur mysql.

    • metaStoreConfig.rootPath: Chemin racine du métastore Milvus-CDC. Cette configuration permet une utilisation multiple, permettant à plusieurs services CDC d'utiliser la même instance etcd ou MySQL tout en assurant l'isolation par le biais de chemins d'accès différents.

    Exemple de configuration :

    # 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
    
  • Configuration de la source Milvus :

    Spécifier les détails de connexion du Milvus source, y compris etcd et le stockage des messages, pour établir une connexion entre le serveur Milvus-CDC et le Milvus source.

    • sourceConfig.etcdAddress: Adresse de connexion au etcd du Milvus source. Pour plus d'informations, voir Configurations liées à etcd.

    • sourceConfig.etcdRootPath: Préfixe racine de la clé dans laquelle le Milvus source stocke les données dans etcd. La valeur peut varier en fonction de la méthode de déploiement de l'instance Milvus :

      • Helm ou Docker Compose: La valeur par défaut est by-dev.

      • Operator: La valeur par défaut est <release_name>.

    • replicateChanNom du canal de réplication Milvus, qui est {msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg} dans le fichier milvus.yaml.

    • sourceConfig.pulsar: Configurations Pulsar pour la source Milvus. Si la source Milvus utilise Kafka pour le stockage des messages, supprimer toutes les configurations liées à Pulsar. Pour plus d'informations, voir Configurations liées à Pulsar.

    • sourceConfig.kafka.address: Adresse Kafka pour le Milvus source. Décommenter cette configuration si le Milvus source utilise Kafka pour le stockage des messages.

Exemple de configuration :

# 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

Compiler le serveur Milvus-CDC

Après avoir enregistré le fichier cdc.yaml, accédez au répertoire milvus-cdc et exécutez l'une des commandes suivantes pour compiler le serveur :

  • Pour un fichier binaire :

    make build
    
  • Pour une image Docker :

    bash build_image.sh
    

    Pour une image Docker, monter le fichier compilé sur /app/server/configs/cdc.yaml dans le conteneur.

Démarrer le serveur

  • En utilisant le fichier binaire

    Naviguer vers le répertoire contenant le binaire milvus-cdc et le répertoire configs avec le fichier cdc.yaml, puis démarrer le serveur :

    # 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
    
  • En utilisant Docker Compose :

    docker-compose up -d
    

Traduit parDeepLogo

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?