2021-10-11 21:15:00 +08:00
# Licensed to the LF AI & Data foundation under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
2020-11-18 17:32:52 +08:00
# with the License. You may obtain a copy of the License at
#
2021-10-11 21:15:00 +08:00
# http://www.apache.org/licenses/LICENSE-2.0
2020-11-18 17:32:52 +08:00
#
2021-10-11 21:15:00 +08:00
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2020-11-18 17:32:52 +08:00
2021-09-23 16:38:24 +08:00
# Related configuration of etcd, used to store Milvus metadata.
2020-11-20 17:10:24 +08:00
etcd :
2021-06-11 22:04:41 +08:00
endpoints :
- localhost:2379
2021-12-07 14:14:08 +08:00
rootPath : by-dev # The root path where data is stored in etcd
2020-11-28 19:06:48 +08:00
metaSubPath : meta # metaRootPath = rootPath + '/' + metaSubPath
kvSubPath : kv # kvRootPath = rootPath + '/' + kvSubPath
2021-06-21 11:40:15 +08:00
segmentBinlogSubPath : datacoord/binlog/segment # Full Path = rootPath/metaSubPath/segmentBinlogSubPath
collectionBinlogSubPath : datacoord/binlog/collection # Full Path = rootPath/metaSubPath/collectionBinglogSubPath
flushStreamPosSubPath : datacoord/flushstream # Full path = rootPath/metaSubPath/flushStreamPosSubPath
statsStreamPosSubPath : datacoord/statsstream # Full path = rootPath/metaSubPath/statsStreamPosSubPath
2020-11-19 10:46:17 +08:00
2021-09-24 18:40:13 +08:00
# Related configuration of minio, which is responsible for data persistence for Milvus.
2020-12-08 14:41:04 +08:00
minio :
2021-11-30 14:17:12 +08:00
address : localhost # Address of MinIO/S3
2021-10-18 18:02:57 +08:00
port : 9000 # Port of MinIO/S3
2021-11-30 14:19:10 +08:00
accessKeyID : minioadmin # accessKeyID of MinIO/S3
2021-10-28 19:51:03 +08:00
secretAccessKey : minioadmin # MinIO/S3 encryption string
2021-12-02 18:19:33 +08:00
useSSL : false # Access to MinIO/S3 with SSL
2021-11-30 19:26:08 +08:00
bucketName : "a-bucket" # Bucket name in MinIO/S3
2021-12-03 13:30:16 +08:00
rootPath : files # The root path where the message is stored in MinIO/S3
2020-12-08 14:41:04 +08:00
2021-10-11 21:21:47 +08:00
# Related configuration of pulsar, used to manage Milvus logs of recent mutation operations, output streaming log, and provide log publish-subscribe services.
2020-11-20 17:10:24 +08:00
pulsar :
2021-12-01 13:07:53 +08:00
address : localhost # Address of pulsar
2021-11-30 14:05:57 +08:00
port : 6650 # Port of pulsar
2021-10-11 21:19:40 +08:00
maxMessageSize : 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
2020-11-19 10:46:17 +08:00
2021-06-25 19:44:11 +08:00
rocksmq :
2021-12-01 13:05:37 +08:00
path : /var/lib/milvus/rdb_data # The path where the message is stored in rocksmq
2021-12-03 13:32:12 +08:00
rocksmqPageSize : 2147483648 # 2 GB, 2 * 1024 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
2021-12-01 13:17:31 +08:00
retentionTimeInMinutes : 10080 # 7 days, 7 * 24 * 60 minutes, The retention time of the message in rocksmq.
2021-12-02 18:15:44 +08:00
retentionSizeInMB : 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
2021-06-25 19:44:11 +08:00
2021-10-12 08:20:33 +08:00
# Related configuration of rootCoord, used to handle data definition language (DDL) and data control language (DCL) requests
2021-06-22 19:08:03 +08:00
rootCoord :
2020-11-20 17:10:24 +08:00
address : localhost
port : 53100
2020-11-19 10:46:17 +08:00
2021-08-04 13:03:24 +08:00
grpc :
2021-12-07 14:08:12 +08:00
serverMaxRecvSize : 2147483647 # math.MaxInt32, Maximum data size received by the server
2021-12-08 13:27:48 +08:00
serverMaxSendSize : 2147483647 # math.MaxInt32, Maximum data size sent by the server
2021-12-07 14:05:46 +08:00
clientMaxRecvSize : 104857600 # 100 MB, Maximum data size received by the client
2021-08-04 13:03:24 +08:00
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-11-12 18:53:11 +08:00
dmlChannelNum : 256 # The number of dml channels created at system startup
maxPartitionNum : 4096 # Maximum number of partitions in a collection
minSegmentSizeToEnableIndex : 1024 # It's a threshold. When the segment size is less than this value, the segment will not be indexed
timeout : 3600 # time out, 5 seconds
timeTickInterval : 200 # ms, the interval that proxy synchronize the time tick
2021-10-11 21:29:27 +08:00
# Related configuration of proxy, used to validate client requests and reduce the returned results.
2021-06-22 19:08:03 +08:00
proxy :
2021-03-04 22:27:12 +08:00
port : 19530
2020-11-20 17:10:24 +08:00
2021-08-04 13:03:24 +08:00
grpc :
2021-11-30 15:44:19 +08:00
serverMaxRecvSize : 536870912 # 512 MB, 100 * 1024 * 1024
serverMaxSendSize : 536870912 # 512 MB, 100 * 1024 * 1024
2021-08-04 13:03:24 +08:00
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-11-12 18:53:11 +08:00
timeTickInterval : 200 # ms, the interval that proxy synchronize the time tick
msgStream :
insert :
bufSize : 1024 # msgPack chan buffer size
search :
2021-12-01 13:15:35 +08:00
bufSize : 512 # msgPack chan buffer size
2021-11-12 18:53:11 +08:00
searchResult :
recvBufSize : 1024 # msgPack chan buffer size
pulsarBufSize : 1024 # pulsar chan buffer size
timeTick :
bufSize : 512
2021-12-07 14:45:45 +08:00
maxNameLength : 255 # Maximum length of name for a collection or alias
maxFieldNum : 256 # Maximum number of fields in a collection
maxDimension : 32768 # Maximum dimension of a vector
2021-11-12 18:53:11 +08:00
maxShardNum : 256 # Maximum number of shards in a collection
maxTaskNum : 1024 # max task number of proxy task queue
2021-11-16 14:13:12 +08:00
bufFlagExpireTime : 3600 # second, the time to expire bufFlag from cache in collectResultLoop
bufFlagCleanupInterval : 600 # second, the interval to clean bufFlag cache in collectResultLoop
2021-11-12 18:53:11 +08:00
2021-10-11 16:28:05 +08:00
# Related configuration of queryCoord, used to manage topology and load balancing for the query nodes, and handoff from growing segments to sealed segments.
2021-06-22 16:44:09 +08:00
queryCoord :
2021-01-22 14:28:06 +08:00
address : localhost
port : 19531
2021-12-06 18:02:50 +08:00
autoHandoff : true # Enable auto handoff
2021-12-06 10:19:41 +08:00
autoBalance : true
2021-12-06 18:05:32 +08:00
overloadedMemoryThresholdPercentage : 90 # The threshold percentage that memory overload
2021-11-12 18:49:10 +08:00
balanceIntervalSeconds : 60
memoryUsageMaxDifferencePercentage : 30
2021-01-22 14:28:06 +08:00
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-10-11 21:31:16 +08:00
# Related configuration of queryNode, used to run hybrid search between vector and scalar data.
2020-11-20 17:10:24 +08:00
queryNode :
2021-09-28 22:24:03 +08:00
cacheSize : 32 # GB, default 32 GB, `cacheSize` is the memory used for caching data for faster query. The `cacheSize` must be less than system memory size.
2021-10-28 20:22:59 +08:00
gracefulTime : 0 # Minimum time before the newly inserted data can be searched (in ms)
2021-02-23 18:08:17 +08:00
port : 21123
2021-01-19 18:32:57 +08:00
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-11-12 18:53:11 +08:00
stats :
publishInterval : 1000 # Interval for querynode to report node information (milliseconds)
dataSync :
flowGraph :
maxQueueLength : 1024 # Maximum length of task queue in flowgraph
maxParallelism : 1024 # Maximum number of tasks executed in parallel in the flowgraph
msgStream :
search :
recvBufSize : 512 # msgPack channel buffer size
pulsarBufSize : 512 # pulsar channel buffer size
searchResult :
recvBufSize : 64 # msgPack channel buffer size
# Segcore will divide a segment into multiple chunks.
segcore :
chunkRows : 32768 # The number of vectors in a chunk.
2021-06-22 19:08:03 +08:00
indexCoord :
2021-01-19 18:32:57 +08:00
address : localhost
2021-01-26 09:38:40 +08:00
port : 31000
2021-01-24 21:20:11 +08:00
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-02-23 18:08:17 +08:00
indexNode :
port : 21121
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-06-21 18:22:13 +08:00
dataCoord :
2021-01-26 15:13:20 +08:00
address : localhost
port : 13333
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-12-07 19:35:13 +08:00
enableCompaction : true # Enable data segment compression
2021-11-11 23:38:42 +08:00
enableGarbageCollection : false
2021-08-04 13:03:24 +08:00
2021-11-12 18:53:11 +08:00
segment :
maxSize : 512 # Maximum size of a segment in MB
sealProportion : 0.75 # It's the minimum proportion for a segment which can be sealed
2021-12-03 13:34:06 +08:00
assignmentExpiration : 2000 # The time of the assignment expiration in ms
2021-11-12 18:53:11 +08:00
2021-11-16 11:47:10 +08:00
compaction :
retentionDuration : 432000 # 5 days in seconds
2021-11-18 22:29:40 +08:00
gc :
interval : 3600 # gc interval in seconds
missingTolerance : 86400 # file meta missing tolerance duration in seconds, 60*24
dropTolerance : 86400 # file belongs to dropped entity tolerance duration in seconds, 60*24
2021-01-24 21:20:11 +08:00
dataNode :
port : 21124
2021-02-19 15:37:04 +08:00
2021-08-04 13:03:24 +08:00
grpc :
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
2021-11-12 18:53:11 +08:00
dataSync :
flowGraph :
maxQueueLength : 1024 # Maximum length of task queue in flowgraph
maxParallelism : 1024 # Maximum number of tasks executed in parallel in the flowgraph
flush :
# Max buffer size to flush for a single segment.
insertBufSize : 16777216 # Bytes, 16 MB
2021-09-22 19:23:59 +08:00
# Configure whether to store the vector and the local path when querying/searching in Querynode.
2021-08-18 16:30:11 +08:00
localStorage :
2021-07-09 11:44:40 +08:00
path : /var/lib/milvus/data/
2021-08-18 16:30:11 +08:00
enabled : true
2021-07-09 11:44:40 +08:00
2021-09-09 18:48:02 +08:00
# Configures the system log output.
2021-02-19 15:37:04 +08:00
log :
2021-06-19 12:38:06 +08:00
level : debug # info, warn, error, panic, fatal
2021-02-19 15:37:04 +08:00
file :
2021-04-13 10:04:39 +08:00
rootPath : "" # default to stdout, stderr
2021-02-19 15:37:04 +08:00
maxSize : 300 # MB
2021-12-01 13:09:49 +08:00
maxAge : 10 # Maximum time for log retention in day.
2021-02-19 15:37:04 +08:00
maxBackups : 20
2021-03-16 21:30:44 +08:00
format : text # text/json
2021-09-26 19:46:17 +08:00
msgChannel :
2021-10-09 10:55:14 +08:00
# Channel name generation rule: ${namePrefix}-${ChannelIdx}
2021-09-26 19:46:17 +08:00
chanNamePrefix :
cluster : "by-dev"
rootCoordTimeTick : "rootcoord-timetick"
rootCoordStatistics : "rootcoord-statistics"
rootCoordDml : "rootcoord-dml"
2021-11-03 21:04:14 +08:00
rootCoordDelta : "rootcoord-delta"
2021-09-26 19:46:17 +08:00
search : "search"
searchResult : "searchResult"
proxyTimeTick : "proxyTimeTick"
queryTimeTick : "queryTimeTick"
queryNodeStats : "query-node-stats"
2021-10-09 10:55:14 +08:00
# Cmd for loadIndex, flush, etc...
2021-09-26 19:46:17 +08:00
cmd : "cmd"
dataCoordInsertChannel : "insert-channel-"
dataCoordStatistic : "datacoord-statistics-channel"
dataCoordTimeTick : "datacoord-timetick-channel"
dataCoordSegmentInfo : "segment-info-channel"
2021-11-05 14:57:44 +08:00
# skip replay query channel under failure recovery
skipQueryChannelRecovery : "false"
2021-09-26 19:46:17 +08:00
2021-10-09 10:55:14 +08:00
# Sub name generation rule: ${subNamePrefix}-${NodeID}
2021-09-26 19:46:17 +08:00
subNamePrefix :
rootCoordSubNamePrefix : "rootCoord"
proxySubNamePrefix : "proxy"
queryNodeSubNamePrefix : "queryNode"
dataNodeSubNamePrefix : "dataNode"
dataCoordSubNamePrefix : "dataCoord"
common :
defaultPartitionName : "_default" # default partition name for a collection
2021-10-09 10:55:14 +08:00
defaultIndexName : "_default_idx" # default index name
2021-11-01 10:26:03 +08:00
knowhere :
# Default value: auto
2021-11-08 10:21:04 +08:00
# Valid values: [auto, avx512, avx2, avx, sse4_2]
2021-11-01 10:26:03 +08:00
# This configuration is only used by querynode and indexnode, it selects CPU instruction set for Searching and Index-building.
simdType : auto