CDCサーバのデプロイ
このガイドでは、Milvus-CDCサーバをデプロイするためのステップバイステップのプロセスを説明します。
前提条件
Milvus-CDCサーバをデプロイする前に、以下の条件が満たされていることを確認してください:
Milvusインスタンス:Milvusインスタンス:ソースMilvusと少なくとも1つのターゲットMilvusの両方がデプロイされ、稼動していること。
ソースとターゲットのMilvusのバージョンは2.3.2以上、できれば2.4.xであることが望ましい。
ターゲットMilvusの
common.ttMsgEnabledの設定をfalseに設定する。ソースMilvusとターゲットMilvusのコンフリクトを防ぐため、メタとメッセージストレージを別々に設定する。例えば、複数のMilvusインスタンスで同じetcdおよびrootPath構成、同じPulsarサービスおよび
chanNamePrefix。
メタストア:Milvus-CDCメタストア用に、etcdまたはMySQLデータベースを用意してください。
ステップ
Milvus-CDC設定ファイルを入手する。
Milvus-CDC リポジトリをクローンし、milvus-cdc/server/configs ディレクトリに移動して、cdc.yaml 設定ファイルにアクセスします。
git clone https://github.com/zilliztech/milvus-cdc.git
cd milvus-cdc/server/configs
設定ファイルの編集
milvus-cdc/server/configs ディレクトリで、cdc.yaml ファイルを修正し、Milvus-CDC メタストアとソース Milvus の接続詳細に関連する設定をカスタマイズします。
メタストア設定:
metaStoreConfig.storeType:Milvus-CDCのメタストアのタイプ。設定可能な値はetcdまたはmysqlです。metaStoreConfig.etcdEndpoints:Milvus-CDCのetcdに接続するためのアドレス。storeTypeがetcdに設定されている場合は必須です。metaStoreConfig.mysqlSourceUrl:Milvus-CDCサーバのMySQLデータベースの接続アドレス。storeTypeがmysqlに設定されている場合は必須。metaStoreConfig.rootPath:Milvus-CDCメタストアのルートパス。この設定により、複数のCDCサービスが同じetcdまたはMySQLインスタンスを利用しながら、異なるルートパスによる分離を実現するマルチテナントが可能になります。
設定例
# 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ソースMilvusコンフィギュレーション:
Milvus-CDCサーバとソースMilvus間の接続を確立するために、etcdやメッセージストレージを含むソースMilvusの接続詳細を指定します。
sourceConfig.etcdAddress:Milvusのetcdに接続するためのアドレス。詳細はetcd 関連設定を参照。sourceConfig.etcdRootPath:ソースMilvusがetcdにデータを保存するキーのルート接頭辞。Milvusインスタンスのデプロイ方法によって値が異なる場合があります:HelmまたはDocker Compose: デフォルトは
by-devです。オペレータ:デフォルトは
<release_name>。
replicateChan: milvusレプリケートチャネル名。milvus.yamlファイルの{msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg}。sourceConfig.pulsar:ソースmilvusのパルサー・コンフィギュレーション。ソースMilvusがメッセージ・ストレージにKafkaを使用している場合は、Pulsar関連の設定をすべて削除してください。詳細はPulsar関連コンフィギュレーションを参照。sourceConfig.kafka.address:ソースMilvusのKafkaアドレス。ソースMilvusがメッセージ保存にKafkaを使用する場合は、このコンフィギュレーションのコメントを外します。
設定例:
# 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
Milvus-CDCサーバのコンパイル
cdc.yaml ファイルを保存した後、milvus-cdc ディレクトリに移動し、以下のコマンドのいずれかを実行してサーバをコンパイルする:
バイナリファイルの場合
make buildDockerイメージの場合:
bash build_image.shDocker イメージの場合:コンパイルしたファイルをコンテナ内の
/app/server/configs/cdc.yamlにマウントする。
サーバーの起動
バイナリを使用する
milvus-cdcバイナリのあるディレクトリとcdc.yamlファイルのあるconfigsディレクトリに移動し、サーバを起動します:# 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 serverDocker Composeを使用する:
docker compose up -d