集群配置文件
Overview
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 | ||||||||||
auditLogFormat | 字符串 | 如果 MongoDB CLI 接受以下值:
此设置对应auditLog.format配置文件选项。 | no | ||||||||||
auditLogPath | 字符串 | 如果 此设置对应auditLog.path配置文件选项。 | no | ||||||||||
bindIp | 字符串 |
此设置对应于net.bindIp配置文件选项。 | no | ||||||||||
bindIpAll | 布尔 | 指示 此设置对应于net.bindIpAll配置文件选项。 | no | ||||||||||
buildIndexes | 布尔 | 指示是否指示 此设置对应于buildIndexes副本集配置选项。 | no | ||||||||||
dbPath | 字符串 | mongod 实例存储数据的目录。 部署后无法修改。 | 是 | ||||||||||
delay | int | 该节点应滞后于主节点的秒数。 此设置对应于SlaveDelay副本集配置选项。 | no | ||||||||||
directoryPerDB | 布尔 | 指示 MongoDB 是否应使用单独的目录来存储每个数据库数据的标志。 这些目录位于 默认情况下, 此设置对应于 | no | ||||||||||
enableMajorityReadConcern | 布尔 | 指示是否启用读关注 默认情况下, 此设置对应replication.enableMajorityReadConcern 副本集配置选项。 | no | ||||||||||
hostname | 字符串 | 要添加到副本集的主机名称。 这是 Ops Manager 部署mongod 进程的主机。 | 是 | ||||||||||
inMemory.engineConfig.inMemorySizeGB | float | 为内存存储引擎数据分配的最大内存量,包括索引、 oplog (如果 该值的范围可以从 注意Enterprise 版功能仅适用于 MongoDB Enterprise。 此设置对应于 | no | ||||||||||
ipv6 | 布尔 | 指示部署是否支持 IPv6的标志。 MongoDB CLI 接受以下值: 此设置对应于net.ipv 6配置文件选项。 | no | ||||||||||
logDestination | 字符串 | MongoDB 发送所有日志输出的目标。 MongoDB CLI 接受以下值: 如果不指定 此设置对应于systemLog.destination配置文件选项。 | no | ||||||||||
logPath | 字符串 | 托管上 mongod 进程的日志文件的位置和名称。 | 是 | ||||||||||
oplogSizeMB | 整型 | 复制oplog的最大大小(以 MB 为单位)。 此设置对应于replication.oplogSizeMB副本集配置选项。 | no | ||||||||||
port | 整型 | 副本集成员的端口。 mongod 进程必须具有对指定端口的独占访问权限。 | 是 | ||||||||||
priority | 整型 | 是 | |||||||||||
tls.CAFile | 字符串 |
此设置对应于net.tls.CAFile | no | ||||||||||
tls.certificateKeyFile | 字符串 |
此设置对应于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 | 字符串 | 用于解密 x.509 证书密钥文件(由 仅当证书密钥文件已加密时才使用 此设置对应于net.tls.clusterPassword | no | ||||||||||
tls.CRLFile | 字符串 | 包含证书吊销列表的 此设置对应于net.tls.CRLFile | no | ||||||||||
tls.disabledProtocols | 字符串 | 使用 TLS 运行的 MongoDB Server 拒绝传入连接的协议或版本。 此设置对应于net.tls.disabledProtocols | no | ||||||||||
tls.FIPSMode | 字符串 | 为 此设置对应于net.tls.FIPSMode | no | ||||||||||
tls.mode | 字符串 | 为所有网络连接启用 TLS。 MongoDB CLI 接受以下参数用于此设置:
此设置对应于net.tls.mode | no | ||||||||||
tls.PEMKeyFile | 字符串 | no | |||||||||||
votes | 整型 | 是 | |||||||||||
wiredTiger.engineConfig.cacheSizeGB | float | WiredTiger 用于所有数据的内部缓存的最大大小。 该值的范围可以从
避免将 WiredTiger 内部缓存大小增加到超过其默认值。 此设置对应于 | no | ||||||||||
wiredTiger.engineConfig.journalCompressor | 字符串 | no | |||||||||||
wiredTiger.engineConfig.directoryForIndexes | 布尔 | 指示 通过使用符号链接,可以为索引指定不同的位置。 具体来说,当 默认情况下, 此设置对应于 | no | ||||||||||
wiredTiger.engineConfig.maxCacheOverflowFileSizeGB | float | 注意有限版本支持仅运行 MongoDB 版本的集群支持此设置:
名为 该设置可接受以下各值:
要在运行时更改最大大小,请使用 此设置对应于 | no | ||||||||||
wiredTiger.collectionConfig.blockCompressor | 字符串 | 集合数据的默认压缩。 创建collection时,您可以在每个collection的基础上覆盖此设置。 可用的压缩类型有: 默认情况下,压缩器为snappy。 此设置会影响所有新创建的collection。如果在现有 MongoDB 部署上更改此设置的值,则所有新 collection 都将使用指定的压缩程序。现有的collection继续使用创建时指定的压缩程序,或当时的默认压缩程序。 此设置对应于 | 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 } ] }