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.ttMsgEnabledde la Milvus cible surfalse.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
chanNamePrefixidentiques 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 sontetcdoumysql.metaStoreConfig.etcdEndpoints: Adresse de connexion au etcd de Milvus-CDC. Requis sistoreTypeest défini suretcd.metaStoreConfig.mysqlSourceUrl: Adresse de connexion à la base de données MySQL du serveur Milvus-CDC. Requis sistoreTypeest défini surmysql.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 grâce à des 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: cdcConfiguration 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 buildPour une image Docker :
bash build_image.shPour une image Docker, monter le fichier compilé sur
/app/server/configs/cdc.yamldans le conteneur.
Démarrer le serveur
En utilisant le fichier binaire
Naviguez vers le répertoire contenant le binaire
milvus-cdcet le répertoireconfigsavec le fichiercdc.yaml, puis démarrez 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 serverEn utilisant Docker Compose :
docker compose up -d