milvus-logo
LFAI
홈페이지
  • 도구

CDC 서버 배포

이 가이드는 Milvus-CDC 서버를 배포하는 단계별 프로세스를 제공합니다.

전제 조건

Milvus-CDC 서버를 배포하기 전에 다음 조건이 충족되는지 확인하세요:

  • Milvus 인스턴스: 소스 Milvus와 하나 이상의 대상 Milvus가 모두 배포되어 작동 중이어야 합니다.

    • 소스 및 대상 Milvus 버전은 모두 2.3.2 이상이어야 하며, 가급적 2.4.x가 좋습니다. 호환성을 보장하기 위해 소스 및 대상 Milvus에 동일한 버전을 사용하는 것이 좋습니다.

    • 대상 Milvus의 common.ttMsgEnabled 구성을 false 으로 설정합니다.

    • 충돌을 방지하기 위해 소스 및 대상 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에 연결하기 위한 주소입니다. storeTypeetcd 로 설정된 경우 필수입니다.

    • metaStoreConfig.mysqlSourceUrl: Milvus-CDC 서버의 MySQL 데이터베이스 연결 주소입니다. storeTypemysql 로 설정된 경우 필수.

    • 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 구성:

    etcd 및 메시지 저장소를 포함한 소스 Milvus의 연결 세부 정보를 지정하여 Milvus-CDC 서버와 소스 Milvus 간의 연결을 설정합니다.

    • sourceConfig.etcdAddress: 소스 Milvus의 etcd에 연결하기 위한 주소입니다. 자세한 내용은 etcd 관련 설정을 참고하세요.

    • sourceConfig.etcdRootPath: 소스 Milvus가 etcd에 데이터를 저장하는 키의 루트 접두사. 이 값은 Milvus 인스턴스의 배포 방법에 따라 달라질 수 있습니다:

      • 헬름 또는 도커 컴포즈: 기본값은 by-dev 입니다.

      • 연산자: 기본값은 <release_name> 입니다.

    • replicateChan밀버스 리플리케이트 채널 이름, 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
    

번역DeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?