集群配置文件
概述
的mongocli
命令在创建或更新集群时需要集群配置设置。MongoDB Cloud Manager 或 MongoDB Ops Manager 集群。配置属性可以通过 .yaml
或 .json
文件提供。以下部分描述了创建或更新集群所需的 配置属性 并提供了一个可复制和修改的 示例配置文件。
配置属性
以下部分包含以下内容:
集群范围内的配置属性
副本集成员配置属性
分片集群配置属性
集群设置
创建或更新 MongoDB Cloud Manager 或 MongoDB Ops Manager 集群的配置文件必须包含以下集群设置
副本集成员设置
创建或更新MongoDB Cloud Manager或MongoDB Ops Manager集群的配置文件可以包含以下副本集成员设置
字段 | 类型 | 描述 | 必需? | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
auditLogDestination | 字符串 | 启用审计并指定所有审计事件发送到的位置。MongoDB CLI接受以下值
此设置对应于配置文件选项中的auditLog.destination。 | no | ||||||||||
auditLogFilter | 字符串 | no | |||||||||||
auditLogFormat | 字符串 | 如果将 MongoDB CLI接受以下值
此设置对应于配置文件选项中的auditLog.format | no | ||||||||||
auditLogPath | 字符串 | 如果 此设置对应于 auditLog.path 配置文件选项。 | no | ||||||||||
bindIp | 字符串 | mongos 或 mongod 应该监听客户端连接的域名和/或 IP 地址和/或完整的 Unix 域套接字路径。您可以将其绑定到任何接口。要绑定多个地址,请输入以逗号分隔的值列表。 此设置对应于 net.bindIp 配置文件选项。 | no | ||||||||||
bindIpAll | 布尔值 | 标志,表示 mongos 或 mongod 实例是否绑定到所有 IPv4 地址(例如,0.0.0.0)。如果 ipv6 设置为 true,则 bindIpAll 还绑定到 IPv6 地址(例如,::)。MongoDB CLI 接受以下值:true 或 false。 此设置对应于 net.bindIpAll 配置文件选项。 | no | ||||||||||
buildIndexes | 布尔值 | 标志,表示是否指示 mongod 构建索引。MongoDB CLI 接受以下值:true 或 false。 此设置对应于 buildIndexes 副本集配置选项。 | no | ||||||||||
dbPath | 字符串 | mongod 实例存储其数据的位置。部署后不能修改。 | 是 | ||||||||||
delay | 整型 | 此成员应落后于主成员的秒数。 此设置对应于 slaveDelay 副本集配置选项。 | no | ||||||||||
directoryPerDB | 布尔值 | 标志,表示 MongoDB 是否应使用单独的目录来存储每个数据库的数据。这些目录位于 storage.dbPath 目录下,每个子目录名称对应于数据库名称。 默认情况下,directoryPerDB 为 false。 此设置对应于 | no | ||||||||||
enableMajorityReadConcern | 布尔值 | 指示是否启用读关注标志“majority”。如果启用,读关注“majority”将保证读取的数据已被大多数副本集成员确认,对于与多文档事务无关的读取操作。 默认情况下, 此设置对应于replication.enableMajorityReadConcern副本集配置选项。 | no | ||||||||||
hostname | 字符串 | 要添加到副本集的主机名。这是 Ops Manager 部署mongod 进程的主机。 | 是 | ||||||||||
inMemory.engineConfig. inMemorySizeGB | 浮点数 | 为内存存储引擎数据分配的最大内存量,包括索引、oplog(如果 值范围从 此选项仅适用于MongoDB Enterprise。 此设置对应于 | no | ||||||||||
ipv6 | 布尔值 | 指示部署是否支持IPv6。MongoDB CLI接受以下值: 此设置对应于net.ipv6配置文件选项。 | no | ||||||||||
logDestination | 字符串 | MongoDB发送所有日志输出的目标。MongoDB CLI接受以下值: 如果您未指定 此设置对应于systemLog.destination配置文件选项。 | no | ||||||||||
logPath | 字符串 | 主机上 mongod 进程的日志文件位置和名称。 | 是 | ||||||||||
oplogSizeMB | 整数 | 副本集 oplog 的最大大小(兆字节)。 此设置对应于replication.oplogSizeMB 副本集配置选项。 | no | ||||||||||
端口 | 整数 | 副本集成员的端口。必须保证 mongod 进程可以独占使用指定的端口。 | 是 | ||||||||||
优先级 | 整数 | 是 | |||||||||||
tls.CAFile | 字符串 | 包含证书颁发机构根证书链的 此设置对应于 net.tls.CAFile 的 | no | ||||||||||
tls. certificateKeyFile | 字符串 | 包含 TLS 证书和私钥的
此设置对应于 net.tls.certificateKeyFile 的 | no | ||||||||||
tls. certificateKeyFilePassword | 字符串 | 解密证书-私钥文件的密码。 仅当证书-私钥文件被加密时,才使用 此设置对应于 net.tls.certificateKeyFilePassword 的 | no | ||||||||||
tls.certificateSelector | 字符串 | 证书属性,MongoDB Agent 使用它从操作系统的证书存储中选择用于 TLS/SSL 的匹配证书。 MongoDB CLI 接受以下键值映射之一作为
此设置对应于 net.tls.certificateSelector | no | ||||||||||
tls. clusterCertificateSelector | 字符串 | 证书属性,MongoDB Agent 使用它从操作系统的证书存储中选择用于内部 x.509 成员身份验证的匹配证书。 MongoDB CLI 接受以下键值映射之一作为
此设置对应于 net.tls.clustercertificateSelector | no | ||||||||||
tls.clusterFile | 字符串 |
此设置对应于 net.tls.clusterFile | no | ||||||||||
tls.clusterPassword | 字符串 | 用于解密 仅当证书密钥文件被加密时才使用 此设置对应于 net.tls.clusterPassword | no | ||||||||||
tls.CRLFile | 字符串 | 包含证书吊销列表的 此设置对应于 net.tls.CRLFile | no | ||||||||||
tls.disabledProtocols | 字符串 | 运行 TLS 的 MongoDB 服务器拒绝接受连接的协议或版本。 此设置对应于 net.tls.disabledProtocols | no | ||||||||||
tls.FIPSMode | 字符串 | 启用或禁用 TLS 库中 FIPS 模式在 此设置对应于 net.tls.FIPSMode | no | ||||||||||
tls.mode | 字符串 | 启用 TLS 对所有网络连接。MongoDB CLI 接受以下设置此参数的参数
此设置对应于 net.tls.mode | no | ||||||||||
tls.PEMKeyFile | 字符串 | 包含 TLS 证书和私钥的 重要: 此设置已弃用。请使用 此设置对应于 net.ssl.PEMKeyFile | no | ||||||||||
votes | 整数 | 是 | |||||||||||
wiredTiger.engineConfig. cacheSizeGB | 浮点数 | WiredTiger 用于所有数据的内部缓存的最大大小。 值范围从
请勿将 WiredTiger 内部缓存大小增加到默认值以上。 此设置对应于 | no | ||||||||||
wiredTiger.engineConfig. journalCompressor | 字符串 | no | |||||||||||
wiredTiger.engineConfig. directoryForIndexes | 布尔值 | 标志表示 通过符号链接,您可以指定索引的不同位置。具体来说,当 默认情况下, 此设置对应于 | no | ||||||||||
wiredTiger.engineConfig. maxCacheOverflowFileSizeGB | 浮点数 | 此设置仅支持运行以下MongoDB版本的集群
名为 该设置可以接受以下值
要在运行时更改最大大小,请使用 此设置对应于 | no | ||||||||||
wiredTiger.collectionConfig. blockCompressor | 字符串 | no | |||||||||||
wiredTiger.indexConfig. prefixCompression | 布尔值 | 表示是否为索引数据启用或禁用 前缀压缩 的标志。 如果 默认情况下, 此设置会影响所有创建的索引。如果您在现有的MongoDB部署上更改此设置的值,所有新索引将使用前缀压缩。现有索引不受影响。 此设置对应于 | no |
分片设置
创建或更新 MongoDB Cloud Manager 或 MongoDB Ops Manager 集群的配置文件可以包含每个分片的以下设置
示例配置文件
name: "myCluster" version: 4.2.2 featureCompatibilityVersion: 4.2 processes: - hostname: host0 dbPath: /data/cluster_2/rs1 logPath: /data/cluster_2/rs1/mongodb.log priority: 1 votes: 1 port: 29010 - hostname: host1 dbPath: /data/cluster_2/rs2 logPath: /data/cluster_2/rs2/mongodb.log priority: 1 votes: 1 port: 29020 - hostname: host2 dbPath: /data/cluster_2/rs3 logPath: /data/cluster_2/rs3/mongodb.log priority: 1 votes: 1 port: 29030
{ "name": "myCluster", "version": "4.2.2", "featureCompatibilityVersion": "4.2", "processes": [ { "hostname": "host0", "dbPath": "/data/cluster_3/rs1", "logPath": "/data/cluster_3/rs1/mongodb.log", "priority": 1, "votes": 1, "port": 30010 }, { "hostname": "host1", "dbPath": "/data/cluster_3/rs2", "logPath": "/data/cluster_3/rs2/mongodb.log", "priority": 1, "votes": 1, "port": 30020 }, { "hostname": "host2", "dbPath": "/data/cluster_3/rs3", "logPath": "/data/cluster_3/rs3/mongodb.log", "priority": 1, "votes": 1, "port": 30030 } ] }
{ "name": "myShardedCluster", "version": "4.2.2", "featureCompatibilityVersion": "4.2", "shards": [ { "name": "myShard_0", "processes": [ { "dbPath": "/data/myCluster/myShard_0/27000", "hostname": "host0.example", "logPath": "/data/myCluster/myShard_0/27000/mongodb.log", "port": 27000, "votes": 1 }, { "dbPath": "/data/myCluster/myShard_0/27001", "hostname": "host1.example", "logPath": "/data/myCluster/myShard_0/27001/mongodb.log", "port": 27001, "votes": 1 }, { "dbPath": "/data/myCluster/myShard_0/27002", "hostname": "host2.example", "logPath": "/data/myCluster/myShard_0/27002/mongodb.log", "port": 27002, "version": "4.2.8-ent", "votes": 1 } ] }, { "name": "myShard_1", "processes": [ { "dbPath": "/data/myCluster/myShard_1/28000", "hostname": "host3.example", "logPath": "/data/myCluster/myShard_1/28000/mongodb.log", "port": 28000, "votes": 1 }, { "dbPath": "/data/myCluster/myShard_1/28001", "hostname": "host4.example", "logPath": "/data/myCluster/myShard_1/28001/mongodb.log", "port": 28001, "votes": 1 }, { "dbPath": "/data/myCluster/myShard_1/28002", "hostname": "host5.example", "logPath": "/data/myCluster/myShard_1/28002/mongodb.log", "port": 28002, "votes": 1 } ] } ], "config": { "name": "configRS", "processes": [ { "dbPath": "/data/myCluster/configRS/29000", "hostname": "host6.example", "logPath": "/data/myCluster/configRS/29000/mongodb.log", "port": 29000, "votes": 1 }, { "dbPath": "/data/myCluster/configRS/29001", "hostname": "host7.example", "logPath": "/data/myCluster/configRS/29001/mongodb.log", "port": 29001, "votes": 1 }, { "dbPath": "/data/myCluster/configRS/29002", "hostname": "host8.example", "logPath": "/data/myCluster/configRS/29002/mongodb.log", "port": 29002, "votes": 1 } ] }, "mongos": [ { "hostname": "host9.example", "logPath": "/data/myCluster/mongoses/27015/mongodb.log", "port": 27015 } ] }