我已经为MongoDB手动配置了副本集。
在三个节点上启动守护程序后,在它们启动并运行之后,从我标识为“主要”的节点上运行以下命令:
mongo
use admin
创建副本集配置:
cfg = {
_id: 'csReplicaSet',
members: [
{ _id: 0, host: 'node1IpAddress:27017'},
{ _id: 1, host: 'node2IpAddress:27017'},
{ _id: 2, host: 'node3IpAddress:27017', arbiterOnly: true}
]
}
rs.initiate(cfg)
我想知道如何在mongo可以识别的JavaScript文件中执行这些步骤。我想自动化这些步骤。
mongo
外壳以编程方式,您快要准备好了。您可以将指令保存到JavaScript文件,然后在mongo
命令行上运行它。rs.initiate()
如果出现错误,您还应该捕获并打印结果:
例如。的内容initreplica.js
:
var cfg = { _id: 'csReplicaSet',
members: [
{ _id: 0, host: 'node1IpAddress:27017'},
{ _id: 1, host: 'node2IpAddress:27017'},
{ _id: 2, host: 'node3IpAddress:27017', arbiterOnly: true}
]
};
var error = rs.initiate(cfg);
printjson(error);
使用以下命令从命令行运行此命令:
mongo node1IpAddress:27017/admin initreplica.js
请注意,这假设您的三个mongod
节点已在包含--replSet csReplicaSet
参数的相同IP地址上启动。除非您要从头开始重建副本集(并且没有现有的副本集配置),否则您只需要执行一次此初始化序列。
我还建议阅读手册中有关编写mongo
Shell脚本的部分。它包括一些有用的提示,例如如何打开与其他MongoDB服务器的新连接,以及一些外壳帮助程序(如)的JavaScript等效项use <db>
。
如果您正在寻找自动构建生产MongoDB集群的方法,则应研究诸如Chef或Puppet之类的配置管理工具的配方。作为MMS(MongoDB管理服务)的一部分,还将提供一个自动化功能。自动化功能目前正在Beta测试中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句