Menyebarkan Server CDC
Panduan ini menyediakan proses langkah demi langkah untuk menerapkan server Milvus-CDC.
Prasyarat
Pastikan kondisi berikut ini terpenuhi sebelum menggunakan server Milvus-CDC:
Instance Milvus: Milvus sumber dan setidaknya satu Milvus target harus diterapkan dan beroperasi.
Versi Milvus sumber dan target harus 2.3.2 atau lebih tinggi, sebaiknya 2.4.x. Kami menyarankan untuk menggunakan versi yang sama untuk Milvus sumber dan target untuk memastikan kompatibilitas.
Atur konfigurasi
common.ttMsgEnabled
dari Milvus target kefalse
.Konfigurasikan Milvus sumber dan target dengan pengaturan meta dan penyimpanan pesan yang berbeda untuk mencegah konflik. Sebagai contoh, hindari penggunaan konfigurasi etcd dan rootPath yang sama, serta layanan Pulsar dan
chanNamePrefix
yang sama di beberapa instans Milvus.
Metastore: Siapkan basis data etcd atau MySQL untuk metastore Milvus-CDC.
Langkah-langkah
Dapatkan berkas konfigurasi Milvus-CDC
Kloning repo Milvus-CDC dan arahkan ke direktori milvus-cdc/server/configs
untuk mengakses berkas konfigurasi cdc.yaml
.
git clone https://github.com/zilliztech/milvus-cdc.git
cd milvus-cdc/server/configs
Mengedit berkas konfigurasi
Di direktori milvus-cdc/server/configs
, ubah berkas cdc.yaml
untuk menyesuaikan konfigurasi yang terkait dengan metastore Milvus-CDC dan detail koneksi Milvus sumber.
Konfigurasi Metastore:
metaStoreConfig.storeType
: Jenis metastore untuk Milvus-CDC. Nilai yang mungkin adalahetcd
ataumysql
.metaStoreConfig.etcdEndpoints
: Alamat untuk menyambung ke etcd Milvus-CDC. Diperlukan jikastoreType
diatur keetcd
.metaStoreConfig.mysqlSourceUrl
: Alamat koneksi database MySQL untuk server Milvus-CDC. Diperlukan jikastoreType
diatur kemysql
.metaStoreConfig.rootPath
: Jalur root dari metastore Milvus-CDC. Konfigurasi ini memungkinkan multi-tenancy, yang memungkinkan beberapa layanan CDC untuk menggunakan instance etcd atau MySQL yang sama sembari mencapai isolasi melalui jalur root yang berbeda.
Contoh konfigurasi:
# 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
Konfigurasi Milvus Sumber:
Tentukan detail koneksi Milvus sumber, termasuk etcd dan penyimpanan pesan, untuk membuat koneksi antara server Milvus-CDC dan Milvus sumber.
sourceConfig.etcdAddress
: Alamat untuk menyambung ke etcd Milvus sumber. Untuk informasi lebih lanjut, lihat Konfigurasi terkait etcd.sourceConfig.etcdRootPath
: Awalan root dari kunci di mana Milvus sumber menyimpan data dalam etcd. Nilainya dapat bervariasi berdasarkan metode penyebaran instans Milvus:Helm atau Docker Compose: Defaultnya adalah
by-dev
.Operator: Defaultnya adalah
<release_name>
.
replicateChan
: nama saluran replikasi milvus, yaitu{msgChannel.chanNamePrefix.cluster}/{msgChannel.chanNamePrefix.replicateMsg}
dalam berkas milvus.yamlsourceConfig.pulsar
: Konfigurasi pulsar untuk Milvus sumber. Jika Milvus sumber menggunakan Kafka untuk penyimpanan pesan, hapus semua konfigurasi yang berhubungan dengan Pulsar. Untuk informasi lebih lanjut, lihat Konfigurasi yang berhubungan dengan Pulsar.sourceConfig.kafka.address
: Alamat Kafka untuk Milvus sumber. Hapus konfigurasi ini jika Milvus sumber menggunakan Kafka untuk penyimpanan pesan.
Contoh konfigurasi:
# 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
Mengkompilasi server Milvus-CDC
Setelah menyimpan berkas cdc.yaml
, arahkan ke direktori milvus-cdc
dan jalankan salah satu perintah berikut untuk mengkompilasi server:
Untuk berkas biner:
make build
Untuk citra Docker:
bash build_image.sh
Untuk citra Docker, pasang berkas yang telah dikompilasi ke
/app/server/configs/cdc.yaml
di dalam kontainer.
Memulai server
Menggunakan biner
Arahkan ke direktori yang berisi berkas biner
milvus-cdc
dan direktoriconfigs
dengan berkascdc.yaml
, lalu mulai server:# 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
Menggunakan Docker Compose:
docker compose up -d