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
です。Operator:デフォルトは
<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 build
Dockerイメージの場合:
bash build_image.sh
Docker イメージの場合:コンパイルしたファイルをコンテナ内の
/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 server
Docker Composeを使用する:
docker compose up -d