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 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
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 sontetcd
oumysql
.metaStoreConfig.etcdEndpoints
: Adresse de connexion au etcd de Milvus-CDC. Requis sistoreType
est défini suretcd
.metaStoreConfig.mysqlSourceUrl
: Adresse de connexion à la base de données MySQL du serveur Milvus-CDC. Requis sistoreType
est 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: 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>
.
replicateChan
Nom 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épertoireconfigs
avec le fichiercdc.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