2021-10-11 13:15:00 +00: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 09:32:52 +00:00
# with the License. You may obtain a copy of the License at
#
2021-10-11 13:15:00 +00:00
# http://www.apache.org/licenses/LICENSE-2.0
2020-11-18 09:32:52 +00:00
#
2021-10-11 13:15:00 +00: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 09:32:52 +00:00
2022-08-11 04:12:38 +00:00
# Related configuration of etcd, used to store Milvus metadata & service discovery.
2020-11-20 09:10:24 +00:00
etcd :
2021-06-11 14:04:41 +00:00
endpoints :
- localhost:2379
2021-12-07 06:14:08 +00:00
rootPath : by-dev # The root path where data is stored in etcd
2020-11-28 11:06:48 +00:00
metaSubPath : meta # metaRootPath = rootPath + '/' + metaSubPath
kvSubPath : kv # kvRootPath = rootPath + '/' + kvSubPath
2022-02-25 07:03:53 +00:00
log :
2022-03-10 02:35:59 +00:00
# path is one of:
# - "default" as os.Stderr,
# - "stderr" as os.Stderr,
# - "stdout" as os.Stdout,
# - file path to append server logs to.
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log
2022-03-10 02:35:59 +00:00
path : stdout
2022-02-25 07:03:53 +00:00
level : info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
use :
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: true
2022-02-25 07:03:53 +00:00
embed : false # Whether to enable embedded Etcd (an in-process EtcdServer).
2022-04-26 06:21:46 +00:00
data :
# Embedded Etcd only.
# please adjust in embedded Milvus: /tmp/milvus/etcdData/
dir : default.etcd
2022-05-20 04:29:19 +00:00
ssl :
enabled : false # Whether to support ETCD secure connection mode
tlsCert : /path/to/etcd-client.pem # path to your cert file
tlsKey : /path/to/etcd-client-key.pem # path to your key file
tlsCACert : /path/to/ca.pem # path to your CACert file
# TLS min version
# Optional values: 1.0, 1.1, 1.2, 1.3。
# We recommend using version 1.2 and above
tlsMinVersion : 1.3
2020-11-19 02:46:17 +00:00
2022-08-11 04:12:38 +00:00
# Default value: etcd
# Valid values: [etcd, mysql]
metastore :
type : etcd
# Related configuration of mysql, used to store Milvus metadata.
mysql :
username : root
2022-08-23 02:26:53 +00:00
password : 123456
2022-08-11 04:12:38 +00:00
address : localhost
port : 3306
dbName : milvus_meta
driverName : mysql
maxOpenConns : 20
maxIdleConns : 5
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: /tmp/milvus/data/
2022-04-07 14:05:32 +00:00
localStorage :
path : /var/lib/milvus/data/
2021-09-24 10:40:13 +00:00
# Related configuration of minio, which is responsible for data persistence for Milvus.
2020-12-08 06:41:04 +00:00
minio :
2021-11-30 06:17:12 +00:00
address : localhost # Address of MinIO/S3
2021-10-18 10:02:57 +00:00
port : 9000 # Port of MinIO/S3
2021-11-30 06:19:10 +00:00
accessKeyID : minioadmin # accessKeyID of MinIO/S3
2021-10-28 11:51:03 +00:00
secretAccessKey : minioadmin # MinIO/S3 encryption string
2021-12-02 10:19:33 +00:00
useSSL : false # Access to MinIO/S3 with SSL
2021-11-30 11:26:08 +00:00
bucketName : "a-bucket" # Bucket name in MinIO/S3
2021-12-03 05:30:16 +00:00
rootPath : files # The root path where the message is stored in MinIO/S3
2022-06-02 11:42:03 +00:00
# Whether to use AWS IAM role to access S3 instead of access/secret keys
# For more infomation, refer to https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
2022-08-11 04:12:38 +00:00
useIAM : false
# Custom endpoint for fetch IAM role credentials.
2022-06-02 11:42:03 +00:00
# Leave it empty if you want to use AWS default endpoint
2022-08-11 04:12:38 +00:00
iamEndpoint : ""
2020-12-08 06:41:04 +00:00
2022-04-12 11:47:33 +00:00
# Milvus supports three MQ: rocksmq(based on RockDB), Pulsar and Kafka, which should be reserved in config what you use.
# There is a note about enabling priority if we config multiple mq in this file
# 1. standalone(local) mode: rockskmq(default) > Pulsar > Kafka
# 2. cluster mode: Pulsar(default) > Kafka (rocksmq is unsupported)
2021-10-11 13:21:47 +00: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 09:10:24 +00:00
pulsar :
2021-12-01 05:07:53 +00:00
address : localhost # Address of pulsar
2021-11-30 06:05:57 +00:00
port : 6650 # Port of pulsar
2022-06-16 09:28:11 +00:00
webport : 80 # Web port of pulsar, if you connect direcly without proxy, should use 8080
2021-10-11 13:19:40 +00:00
maxMessageSize : 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
2020-11-19 02:46:17 +00:00
2022-04-12 11:47:33 +00:00
# If you want to enable kafka, needs to comment the pulsar configs
#kafka:
# brokerList: localhost1:9092,localhost2:9092,localhost3:9092
2022-06-02 04:12:03 +00:00
# saslUsername: username
# saslPassword: password
2022-06-29 02:32:17 +00:00
# saslMechanisms: PLAIN
# securityProtocol: SASL_SSL
2022-04-12 11:47:33 +00:00
2021-06-25 11:44:11 +00:00
rocksmq :
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: /tmp/milvus/rdb_data
2021-12-01 05:05:37 +00:00
path : /var/lib/milvus/rdb_data # The path where the message is stored in rocksmq
2021-12-03 05:32:12 +00:00
rocksmqPageSize : 2147483648 # 2 GB, 2 * 1024 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
2021-12-01 05:17:31 +00:00
retentionTimeInMinutes : 10080 # 7 days, 7 * 24 * 60 minutes, The retention time of the message in rocksmq.
2021-12-02 10:15:44 +00:00
retentionSizeInMB : 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
2022-06-20 02:56:12 +00:00
lrucacheratio : 0.06 # rocksdb cache memory ratio
2021-06-25 11:44:11 +00:00
2021-10-12 00:20:33 +00:00
# Related configuration of rootCoord, used to handle data definition language (DDL) and data control language (DCL) requests
2021-06-22 11:08:03 +00:00
rootCoord :
2020-11-20 09:10:24 +00:00
address : localhost
port : 53100
2020-11-19 02:46:17 +00:00
2021-11-12 10:53:11 +00: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
2022-06-15 04:20:10 +00:00
# (in seconds) Duration after which an import task will expire (be killed). Default 900 seconds (15 minutes).
2022-04-03 03:37:29 +00:00
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
2022-06-15 04:20:10 +00:00
importTaskExpiration : 900
2022-04-03 03:37:29 +00:00
# (in seconds) Milvus will keep the record of import tasks for at least `importTaskRetention` seconds. Default 86400
# seconds (24 hours).
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
importTaskRetention : 86400
2022-05-05 13:17:50 +00:00
# (in seconds) Check an import task's segment loading state in queryNodes every `importSegmentStateCheckInterval`
# seconds. Default 10 seconds.
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
importSegmentStateCheckInterval : 10
# (in seconds) Maximum time to wait for segments in a single import task to be loaded in queryNodes.
# Default 60 seconds (1 minute).
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
importSegmentStateWaitLimit : 60
# (in seconds) Check the building status of a task's segments' indices every `importIndexCheckInterval` seconds.
2022-06-15 04:20:10 +00:00
# Default 10 seconds.
2022-04-03 03:37:29 +00:00
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
2022-06-15 04:20:10 +00:00
importIndexCheckInterval : 10
2022-05-05 13:17:50 +00:00
# (in seconds) Maximum time to wait for indices to be built on a single import task's segments.
2022-06-15 04:20:10 +00:00
# Default 600 seconds (10 minutes).
2022-04-03 03:37:29 +00:00
# Note: If default value is to be changed, change also the default in: internal/util/paramtable/component_param.go
2022-06-15 04:20:10 +00:00
importIndexWaitLimit : 600
2022-04-03 03:37:29 +00:00
2021-10-11 13:29:27 +00:00
# Related configuration of proxy, used to validate client requests and reduce the returned results.
2021-06-22 11:08:03 +00:00
proxy :
2021-03-04 14:27:12 +00:00
port : 19530
2022-05-10 12:05:53 +00:00
internalPort : 19529
2022-02-23 06:37:52 +00:00
http :
enabled : true # Whether to enable the http server
2022-04-29 07:15:47 +00:00
debug_mode : false # Whether to enable http server debug mode
2022-02-23 06:37:52 +00:00
2021-11-12 10:53:11 +00:00
timeTickInterval : 200 # ms, the interval that proxy synchronize the time tick
msgStream :
timeTick :
bufSize : 512
2021-12-07 06:45:45 +00: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 10:53:11 +00:00
maxShardNum : 256 # Maximum number of shards in a collection
maxTaskNum : 1024 # max task number of proxy task queue
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: false
2022-03-10 02:35:59 +00:00
ginLogging : true # Whether to produce gin logs.
2021-11-16 06:13:12 +00:00
2021-11-12 10:53:11 +00:00
2021-10-11 08:28:05 +00: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 08:44:09 +00:00
queryCoord :
2021-01-22 06:28:06 +00:00
address : localhost
port : 19531
2021-12-06 10:02:50 +00:00
autoHandoff : true # Enable auto handoff
2021-12-08 07:02:09 +00:00
autoBalance : true # Enable auto balance
2021-12-06 10:05:32 +00:00
overloadedMemoryThresholdPercentage : 90 # The threshold percentage that memory overload
2021-11-12 10:49:10 +00:00
balanceIntervalSeconds : 60
memoryUsageMaxDifferencePercentage : 30
2021-01-22 06:28:06 +00:00
2021-10-11 13:31:16 +00:00
# Related configuration of queryNode, used to run hybrid search between vector and scalar data.
2020-11-20 09:10:24 +00:00
queryNode :
2021-09-28 14:24:03 +00: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-02-23 10:08:17 +00:00
port : 21123
2022-06-09 10:16:07 +00:00
loadMemoryUsageFactor : 3 # The multiply factor of calculating the memory usage while loading segments
2021-01-19 10:32:57 +00:00
2021-11-12 10:53:11 +00: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
2022-05-05 01:49:50 +00:00
# Segcore will divide a segment into multiple chunks to enbale small index
2021-11-12 10:53:11 +00:00
segcore :
2022-07-19 05:50:28 +00:00
chunkRows : 1024 # The number of vectors in a chunk.
2022-05-18 07:27:56 +00:00
# Note: we have disabled segment small index since @2022.05.12. So below related configurations won't work.
# We won't create small index for growing segments and search on these segments will directly use bruteforce scan.
2022-05-05 01:49:50 +00:00
smallIndex :
2022-07-19 05:50:28 +00:00
nlist : 128 # small index nlist, recommend to set sqrt(chunkRows), must smaller than chunkRows/8
2022-05-05 01:49:50 +00:00
nprobe : 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist
2022-04-07 14:05:32 +00:00
cache :
enabled : true
memoryLimit : 2147483648 # 2 GB, 2 * 1024 *1024 *1024
2022-03-26 14:05:26 +00:00
2022-07-04 07:10:20 +00:00
scheduler :
2022-05-23 08:41:58 +00:00
receiveChanSize : 10240
unsolvedQueueSize : 10240
2022-07-04 07:10:20 +00:00
maxReadConcurrency : 0 # maximum concurrency of read task. if set to less or equal 0, it means no uppper limit.
cpuRatio : 10.0 # ratio used to estimate read task cpu usage.
grouping :
enabled : true
2022-05-23 08:41:58 +00:00
maxNQ : 1000
topKMergeRatio : 10.0
2021-06-22 11:08:03 +00:00
indexCoord :
2021-01-19 10:32:57 +00:00
address : localhost
2021-01-26 01:38:40 +00:00
port : 31000
2021-01-24 13:20:11 +00:00
2022-07-07 06:44:21 +00:00
gc :
interval : 600 # gc interval in seconds
2021-02-23 10:08:17 +00:00
indexNode :
port : 21121
2022-07-07 06:44:21 +00:00
scheduler :
buildParallel : 1
2021-06-21 10:22:13 +00:00
dataCoord :
2021-01-26 07:13:20 +00:00
address : localhost
port : 13333
2021-12-07 11:35:13 +00:00
enableCompaction : true # Enable data segment compression
2022-07-18 08:34:28 +00:00
enableGarbageCollection : true
2021-08-04 05:03:24 +00:00
2021-11-12 10:53:11 +00:00
segment :
maxSize : 512 # Maximum size of a segment in MB
2022-05-31 04:02:04 +00:00
sealProportion : 0.25 # It's the minimum proportion for a segment which can be sealed
2022-02-07 14:45:46 +00:00
assignmentExpiration : 2000 # The time of the assignment expiration in ms
2022-05-06 15:41:51 +00:00
maxLife : 86400 # The max lifetime of segment in seconds, 24*60*60
2021-11-12 10:53:11 +00:00
2021-11-16 03:47:10 +00:00
compaction :
2021-12-10 06:41:14 +00:00
enableAutoCompaction : true
2021-11-16 03:47:10 +00:00
2021-11-18 14:29:40 +00: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 13:20:11 +00:00
dataNode :
port : 21124
2021-02-19 07:37:04 +00:00
2021-11-12 10:53:11 +00: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-09 10:48:02 +00:00
# Configures the system log output.
2021-02-19 07:37:04 +00:00
log :
2022-05-23 08:41:58 +00:00
level : debug # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
2021-02-19 07:37:04 +00:00
file :
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: /tmp/milvus/logs
2021-04-13 02:04:39 +00:00
rootPath : "" # default to stdout, stderr
2021-02-19 07:37:04 +00:00
maxSize : 300 # MB
2021-12-01 05:09:49 +00:00
maxAge : 10 # Maximum time for log retention in day.
2021-02-19 07:37:04 +00:00
maxBackups : 20
2021-03-16 13:30:44 +00:00
format : text # text/json
2021-09-26 11:46:17 +00:00
2022-05-05 02:35:50 +00:00
grpc :
log :
level : WARNING
serverMaxRecvSize : 2147483647 # math.MaxInt32
serverMaxSendSize : 2147483647 # math.MaxInt32
clientMaxRecvSize : 104857600 # 100 MB, 100 * 1024 * 1024
clientMaxSendSize : 104857600 # 100 MB, 100 * 1024 * 1024
client :
dialTimeout : 5000
keepAliveTime : 10000
2022-06-13 03:54:08 +00:00
keepAliveTimeout : 20000
2022-06-22 14:22:13 +00:00
maxMaxAttempts : 5
initialBackOff : 1.0
maxBackoff : 60.0
backoffMultiplier : 2.0
2022-05-05 02:35:50 +00:00
2022-05-10 12:05:53 +00:00
# Configure the proxy tls enable.
tls :
serverPemPath : configs/cert/server.pem
serverKeyPath : configs/cert/server.key
caPemPath : configs/cert/ca.pem
2022-03-04 03:17:56 +00:00
common :
2021-10-09 02:55:14 +00:00
# Channel name generation rule: ${namePrefix}-${ChannelIdx}
2021-09-26 11:46:17 +00:00
chanNamePrefix :
2021-12-29 13:29:45 +00:00
cluster : "by-dev"
2021-09-26 11:46:17 +00:00
rootCoordTimeTick : "rootcoord-timetick"
rootCoordStatistics : "rootcoord-statistics"
rootCoordDml : "rootcoord-dml"
2021-11-03 13:04:14 +00:00
rootCoordDelta : "rootcoord-delta"
2021-09-26 11:46:17 +00:00
search : "search"
searchResult : "searchResult"
queryTimeTick : "queryTimeTick"
queryNodeStats : "query-node-stats"
2021-10-09 02:55:14 +00:00
# Cmd for loadIndex, flush, etc...
2021-09-26 11:46:17 +00:00
cmd : "cmd"
dataCoordStatistic : "datacoord-statistics-channel"
dataCoordTimeTick : "datacoord-timetick-channel"
dataCoordSegmentInfo : "segment-info-channel"
2021-10-09 02:55:14 +00:00
# Sub name generation rule: ${subNamePrefix}-${NodeID}
2021-09-26 11:46:17 +00:00
subNamePrefix :
rootCoordSubNamePrefix : "rootCoord"
proxySubNamePrefix : "proxy"
queryNodeSubNamePrefix : "queryNode"
dataNodeSubNamePrefix : "dataNode"
dataCoordSubNamePrefix : "dataCoord"
defaultPartitionName : "_default" # default partition name for a collection
2021-10-09 02:55:14 +00:00
defaultIndexName : "_default_idx" # default index name
2021-12-29 13:29:45 +00:00
retentionDuration : 432000 # 5 days in seconds
2022-04-28 03:51:47 +00:00
entityExpiration : -1 # Entity expiration in seconds, CAUTION make sure entityExpiration >= retentionDuration and -1 means never expire
2022-05-24 04:05:59 +00:00
gracefulTime : 5000 # milliseconds. it represents the interval (in ms) by which the request arrival time needs to be subtracted in the case of Bounded Consistency.
2021-11-01 02:26:03 +00:00
# Default value: auto
2021-11-08 02:21:04 +00:00
# Valid values: [auto, avx512, avx2, avx, sse4_2]
2021-11-01 02:26:03 +00:00
# This configuration is only used by querynode and indexnode, it selects CPU instruction set for Searching and Index-building.
simdType : auto
2022-05-23 07:01:58 +00:00
indexSliceSize : 16 # MB
2022-04-07 14:05:32 +00:00
2022-04-25 06:17:45 +00:00
# please adjust in embedded Milvus: local
2022-04-12 11:47:33 +00:00
storageType : minio
2022-04-19 08:35:39 +00:00
security :
authorizationEnabled : false
2022-06-02 10:56:04 +00:00
# tls mode values [0, 1, 2]
# 0 is close, 1 is one-way authentication, 2 is two-way authentication.
tlsMode : 0