在MongoDB的配置选项的文件列出了所有可以指定,但没有任何人有一组完全形成例如YAML格式的配置文件中各种角色的MongoDB实例的可用选项?
一组常见角色的示例对于那些从头开始或希望使用最新配置文件格式进行测试的人来说是一个非常有用的起点。
Ada*_*m C 48
这里有几个Linux的YAML配置示例(Windows 路径和选项略有不同),本质上明确设置了一些默认值和常用设置。
首先,一个mongod带有默认端口、路径、日志设置的独立文件——这将是用于本地测试的配置类型,还有一些额外的东西,所以显示出一般风格:
storage:
dbPath: "/data/db"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "/data/db/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
wireObjectCheck : false
unixDomainSocket:
enabled : true
Run Code Online (Sandbox Code Playgroud)
关于这个配置的一些注意事项:
wireObjectCheck: false在生产中检查对象 ( ),但对于用于测试目的的大量数据加载,它会加快速度,并且在这种环境中风险最小现在,让我们看一个典型的生产副本集成员的示例配置文件,其中启用了身份验证并作为分片集群的一部分运行:
storage:
dbPath: "/data/db"
directoryPerDB: true
journal:
enabled: true
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
replication:
oplogSizeMB: 10240
replSetName: "rs1"
processManagement:
fork: true
net:
bindIp: 192.0.2.1
port: 27018
security:
keyFile: "/data/key/rs1.key"
authorization: "enabled"
sharding:
clusterRole: "shardsvr"
Run Code Online (Sandbox Code Playgroud)
关于此配置的一些注意事项:
接下来,一个示例mongos配置:
sharding:
configDB: "config1.example.net:27019,config2.example.net:27019,config3.example.net:27019"
autoSplit: true
systemLog:
destination: file
path: "/var/log/mongos.log"
processManagement:
fork: true
net:
port: 27017
bindIp: 192.0.2.2
maxIncomingConnections: 5000
security:
keyFile: "/data/key/mongos.key"
authorization: "enabled"
Run Code Online (Sandbox Code Playgroud)
此处唯一需要的更改是不适用于mongos(因为它不存储数据) 的删除和configDB字符串的添加,这些字符串在所有mongos进程上都必须相同。我添加了最大连接设置作为示例,这不是必需的,但对于较大的集群通常是一个好主意。
完善分片集群,我们有一个示例配置服务器,它实际上是副本集成员的一个子集,有一些小的更改:
storage:
dbPath: "/data/db"
journal:
enabled: true
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
processManagement:
fork: true
net:
bindIp: 192.0.2.3
port: 27019
security:
keyFile: "/data/key/config.key"
authorization: "enabled"
sharding:
clusterRole: "configsvr"
Run Code Online (Sandbox Code Playgroud)
最后,MongoDB 3.0(在撰写本文时尚未发布)将引入几个新选项,尤其是引入了新的存储引擎。因此,这里是如何配置相同副本集成员的示例,但这次使用 WiredTiger 存储引擎和(默认)snappy 压缩方法(注意:由于SERVER-16266而从原始更改,并添加了示例engineConfig):
storage:
dbPath: "/data/db"
engine: "wiredTiger"
wiredTiger:
engineConfig:
cacheSizeGB: 8
collectionConfig:
blockCompressor: snappy
systemLog:
destination: file
path: "/var/log/mongodb.log"
logAppend: true
timeStampFormat: iso8601-utc
replication:
oplogSizeMB: 10240
replSetName: "rs1"
processManagement:
fork: true
net:
bindIp: "192.0.2.1,127.0.0.1"
port: 27018
security:
keyFile: "/data/key/rs1.key"
authorization: "enabled"
sharding:
clusterRole: "shardsvr"
Run Code Online (Sandbox Code Playgroud)
作为最后的奖励,我展示了如何使用列表绑定多个 IP 地址,在本例中为外部 IP 和环回 IP。
| 归档时间: |
|
| 查看次数: |
56137 次 |
| 最近记录: |