Docker Compose 또는 Helm으로 메시지 저장소 구성하기
Milvus는 최근 변경 사항의 로그 관리, 스트림 로그 출력, 로그 구독 제공을 위해 Pulsar 또는 Kafka를 사용합니다. 기본 메시지 저장 시스템은 Pulsar입니다. 이 항목에서는 Docker Compose 또는 Helm으로 메시지 저장소를 구성하는 방법을 소개합니다.
Docker Compose 또는 K8에서 Pulsar를 구성하고 K8에서 Kafka를 구성할 수 있습니다.
메시지 큐 제한: Milvus v2.6.15로 업그레이드할 때는 현재 선택한 메시지 큐를 유지해야 합니다. 업그레이드 중 다른 메시지 큐 시스템 간 전환은 지원되지 않습니다. 메시지 큐 시스템 변경에 대한 지원은 향후 버전에서 제공될 예정입니다.
Docker Compose로 Pulsar 구성하기
1. Pulsar 구성하기
Docker Compose로 Pulsar를 구성하려면 milvus/configs 경로의 milvus.yaml 파일에 있는 pulsar 섹션에 값을 입력하세요.
pulsar:
address: localhost # Address of pulsar
port: 6650 # Port of pulsar
maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
자세한 내용은 Pulsar 관련 구성을 참조하세요.
2. Milvus 실행
다음 명령어를 실행하여 Pulsar 설정을 사용하는 Milvus를 시작합니다.
docker compose up
헬름으로 Pulsar 구성하기
K8의 Milvus 클러스터의 경우, Milvus를 시작하는 것과 동일한 명령으로 Pulsar를 구성할 수 있습니다. 또는 Milvus를 시작하기 전에 milvus-helm 리포지토리의 /charts/milvus 경로에 있는 values.yml 파일을 사용하여 Pulsar를 구성할 수 있습니다.
헬름을 사용하여 밀버스를 구성하는 방법에 대한 자세한 내용은 헬름 차트로 밀버스 구성하기를 참조하세요. 펄사 관련 구성 항목에 대한 자세한 내용은 펄사 관련 구성을 참고한다.
YAML 파일 사용하기
values.yaml파일에서externalConfigFiles섹션을 구성합니다.
extraConfigFiles:
user.yaml: |+
pulsar:
address: localhost # Address of pulsar
port: 6650 # Port of Pulsar
webport: 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080
maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
tenant: public
namespace: default
- 앞의 섹션을 구성하고
values.yaml파일을 저장한 후, 다음 명령어를 실행하여 Pulsar 구성을 사용하는 Milvus를 설치합니다.
helm install <your_release_name> milvus/milvus -f values.yaml
헬름으로 딱따구리 구성하기
K8의 Milvus 클러스터의 경우, Milvus를 시작하는 것과 동일한 명령으로 Woodpecker를 구성할 수 있습니다. 또는 Milvus를 시작하기 전에 밀버스-헬름 리포지토리의 /charts/milvus 경로에 있는 values.yml 파일을 사용하여 Woodpecker를 구성할 수 있습니다.
헬름을 사용하여 밀버스를 구성하는 방법에 대한 자세한 내용은 헬름 차트로 밀버스 구성하기를 참조하세요. 우드페커 관련 구성 항목에 대한 자세한 내용은 우드페커 관련 구성을 참조한다.
YAML 파일 사용하기
values.yaml파일에서externalConfigFiles섹션을 구성합니다.
extraConfigFiles:
user.yaml: |+
woodpecker:
meta:
type: etcd # The Type of the metadata provider. currently only support etcd.
prefix: woodpecker # The Prefix of the metadata provider. default is woodpecker.
client:
segmentAppend:
queueSize: 10000 # The size of the queue for pending messages to be sent of each log.
maxRetries: 3 # Maximum number of retries for segment append operations.
segmentRollingPolicy:
maxSize: 256M # Maximum size of a segment.
maxInterval: 10m # Maximum interval between two segments, default is 10 minutes.
maxBlocks: 1000 # Maximum number of blocks in a segment
auditor:
maxInterval: 10s # Maximum interval between two auditing operations, default is 10 seconds.
logstore:
segmentSyncPolicy:
maxInterval: 200ms # Maximum interval between two sync operations, default is 200 milliseconds.
maxIntervalForLocalStorage: 10ms # Maximum interval between two sync operations local storage backend, default is 10 milliseconds.
maxBytes: 256M # Maximum size of write buffer in bytes.
maxEntries: 10000 # Maximum entries number of write buffer.
maxFlushRetries: 5 # Maximum size of write buffer in bytes.
retryInterval: 1000ms # Maximum interval between two retries. default is 1000 milliseconds.
maxFlushSize: 2M # Maximum size of a fragment in bytes to flush.
maxFlushThreads: 32 # Maximum number of threads to flush data
segmentCompactionPolicy:
maxSize: 2M # The maximum size of the merged files.
maxParallelUploads: 4 # The maximum number of parallel upload threads for compaction.
maxParallelReads: 8 # The maximum number of parallel read threads for compaction.
segmentReadPolicy:
maxBatchSize: 16M # Maximum size of a batch in bytes.
maxFetchThreads: 32 # Maximum number of threads to fetch data.
storage:
type: minio # The Type of the storage provider. Valid values: [minio, local]
rootPath: /var/lib/milvus/woodpecker # The root path of the storage provider.
- 앞의 섹션을 구성하고
values.yaml파일을 저장한 후, 다음 명령을 실행하여 Woodpecker 구성을 사용하는 Milvus를 설치합니다.
helm install <your_release_name> milvus/milvus -f values.yaml
헬름으로 카프카 구성하기
K8의 Milvus 클러스터의 경우, Milvus를 시작하는 것과 동일한 명령으로 Kafka를 구성할 수 있습니다. 또는 Milvus를 시작하기 전에 milvus-helm 리포지토리의 /charts/milvus 경로에 있는 values.yml 파일을 사용하여 Kafka를 구성할 수 있습니다.
헬름을 사용하여 Milvus를 구성하는 방법에 대한 자세한 내용은 헬름 차트로 Milvus 구성을 참조하세요. Pulsar 관련 구성 항목에 대한 자세한 내용은 Pulsar 관련 구성을 참고한다.
YAML 파일 사용하기
- Kafka를 메시지 저장 시스템으로 사용하려면
values.yaml파일에서externalConfigFiles섹션을 구성합니다.
extraConfigFiles:
user.yaml: |+
kafka:
brokerList:
- <your_kafka_address>:<your_kafka_port>
saslUsername:
saslPassword:
saslMechanisms: PLAIN
securityProtocol: SASL_SSL
- 앞의 섹션을 구성하고
values.yaml파일을 저장한 후, 다음 명령을 실행하여 Kafka 구성을 사용하는 Milvus를 설치합니다.
helm install <your_release_name> milvus/milvus -f values.yaml
헬름으로 RocksMQ 구성하기
Milvus 스탠드얼론은 기본 메시지 저장소로 RocksMQ를 사용합니다. 헬름으로 Milvus를 구성하는 방법에 대한 자세한 단계는 헬름 차트로 Milvus 구성하기를 참조하세요. RocksMQ 관련 구성 항목에 대한 자세한 내용은 RocksMQ 관련 구성을 참조하세요.
RocksMQ로 Milvus를 시작하고 설정을 변경하려면 다음 YAML 파일에서 변경된 설정으로
helm upgrade -f을 실행하면 됩니다.헬름을 사용하여 RocksMQ가 아닌 다른 메시지 저장소를 사용하여 Milvus를 독립형으로 설치한 경우 다시 RocksMQ로 변경하려면 모든 컬렉션을 플러시하고 Milvus를 중지한 후 다음 YAML 파일로
helm upgrade -f을 실행하세요.
extraConfigFiles:
user.yaml: |+
rocksmq:
# The path where the message is stored in rocksmq
# please adjust in embedded Milvus: /tmp/milvus/rdb_data
path: /var/lib/milvus/rdb_data
lrucacheratio: 0.06 # rocksdb cache memory ratio
rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.
retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data
# compaction compression type, only support use 0,7.
# 0 means not compress, 7 will use zstd
# len of types means num of rocksdb level.
compressionTypes: [0, 0, 7, 7, 7]
메시지 저장소를 변경하는 것은 권장하지 않습니다. 이 작업을 수행하려면 모든 DDL 작업을 중지한 다음 FlushAll API를 호출하여 모든 컬렉션을 플러시하고 마지막으로 메시지 저장소를 실제로 변경하기 전에 Milvus를 마지막으로 중지하세요.
다음 단계
Docker Compose 또는 Helm으로 다른 Milvus 종속성을 구성하는 방법을 알아보세요: