系统配置
本主题介绍 Milvus 系统配置的一般部分。
Milvus 维护着大量配置系统的参数。每个配置都有一个默认值,可以直接使用。您可以灵活修改这些参数,使 Milvus 更好地服务于您的应用程序。更多信息,请参阅 配置 Milvus。
在当前版本中,所有参数只有在启动 Milvus 时配置后才会生效。
章节
为便于维护,Milvus 根据组件、依赖关系和一般使用情况,将配置分为 %s 个部分。
etcd
etcd 的相关配置,用于存储 Milvus 元数据和服务发现。
请参阅 etcd 相关配置,了解该部分下每个参数的详细说明。
metastore
本节下各参数的详细说明,请参见 Meta storage 相关配置。
tikv
用于存储 Milvus 元数据的 tikv 的相关配置。
请注意,启用 TiKV 作为 Meta storage 时,仍需要使用 etcd 来发现服务。
当元数据大小需要更好的横向扩展性时,TiKV 是一个不错的选择。
localStorage
本节下各参数的详细说明,请参见 localStorage 相关配置。
minio
MinIO/S3/GCS 或任何其他服务的相关配置都支持 S3 API,它负责 Milvus 的数据持久性。
为简单起见,我们在下文中将存储服务称为 MinIO/S3。
本节下每个参数的详细说明请参见 minio 相关配置。
mq
Milvus 支持四种 MQ:rocksmq(基于 RocksDB)、natsmq(嵌入式 nats-server)、Pulsar 和 Kafka。
你可以通过设置 mq.type 字段来更改你的 MQ。
如果不将 mq.type 字段设为默认值,那么如果我们在此文件中配置了多个 mq,就需要注意启用优先级。
-
独立(本地)模式:Rocksmq(默认) > Natsmq > Pulsar > Kafka
-
集群模式: Pulsar(默认) > Kafka(集群模式下不支持 rocksmq 和 natsmq)
本节下各参数的详细说明,请参见 mq 相关配置。
pulsar
pulsar 的相关配置,用于管理 Milvus 最近数据变更操作的日志,输出流式日志,并提供日志发布-订阅服务。
本节下各参数的详细说明,请参见 pulsar 相关配置。
rocksmq
如果要启用 kafka,需要对 pulsar 配置进行注释
kafka:
brokerList:
saslUsername:
saslPassword:
saslMechanisms:
securityProtocol:
ssl:
enabled: false # whether to enable ssl mode
tlsCert: # path to client's public key (PEM) used for authentication
tlsKey: # path to client's private key (PEM) used for authentication
tlsCaCert: # file or directory path to CA certificate(s) for verifying the broker's key
tlsKeyPassword: # private key passphrase for use with ssl.key.location and set_ssl_cert(), if any
readTimeout:10
本节下各参数的详细说明,请参见 rocksmq 相关配置。
natsmq
natsmq 配置。
更多详情:https://docs.nats.io/running-a-nats-service/configuration
有关 本节中各参数的详细说明,请参见 natsmq 相关配置。
rootCoord
rootCoord 的相关配置,用于处理数据定义语言 (DDL) 和数据控制语言 (DCL) 请求
有关本节中各参数的详细说明,请参见 rootCoord 相关配置。
proxy
Proxy 相关配置,用于验证客户端请求并减少返回结果。
有关 本节中各参数的详细说明,请参见 Proxy 相关配置。
queryCoord
queryCoord 的相关配置用于管理 QueryNode 的拓扑和负载平衡,以及从 Growing Segment 到 Sealed Segment 的切换。
有关本节中每个参数的详细说明,请参阅 queryCoord 相关配置。
queryNode
queryNode 的相关配置,用于在向量和标量数据之间运行混合搜索。
有关本节中每个参数的详细说明,请参见 QueryNode 相关配置。
indexCoord
有关 本节中每个参数的详细说明,请参见 indexCoord 相关配置。
indexNode
有关 本节中每个参数的详细说明,请参见 indexNode 相关配置。
dataCoord
请参阅 dataCoord-related Configurations(数据 节点 相关配置),了解本节中各参数的详细说明。
dataNode
请参阅 dataNode-related Configurations(DataNode 相关配置),了解本节下各参数的详细说明。
msgChannel
本主题介绍 Milvus 的消息通道相关配置。
本节下各参数的详细说明,请参见 msgChannel 相关配置。
log
配置系统日志输出。
本节下各参数的详细说明,请参见 日志相关配置。
grpc
本节下各参数的详细说明,请参见 grpc 相关配置。
tls
配置 Proxy tls 启用。
本节下各参数的详细说明,请参见 tls 相关配置。
common
本节下各参数的详细说明,请参见 常用相关配置。
quotaAndLimits
QuotaConfig,Milvus 配额和限制的配置。
默认情况下,我们启用
-
TT 保护;
-
内存保护
-
磁盘配额保护。
可以启用
-
DML 吞吐量限制;
-
DDL、DQL qps/rps 限制;
-
DQL 队列长度/延迟保护;
-
DQL 结果速率保护;
如有必要,也可以手动强制拒绝 RW 请求。
trace
本节下各参数的详细说明,请参见 Trace 相关配置。
gpu
使用 GPU 索引时,Milvus 将利用内存池来避免频繁的内存分配和删除。
在这里,你可以设置内存池占用内存的大小,单位为 MB。
注意,当实际内存需求超过 maxMemSize 设置的值时,Milvus 有可能崩溃。
如果 initMemSize 和 MaxMemSize 都设置为零、
milvus 将自动初始化 GPU 可用内存的一半、
maxMemSize 则为整个可用 GPU 内存。
本节下每个参数的详细说明,请参见 与 GPU 相关的配置。