您的位置:首页 > 数据库 > Mongodb

mongodb集群搭建-replica set模式

2015-10-19 15:31 615 查看
1 前提:

原来有个节点169,已经搭建了mongodb,现在想再增加两个节点167和168做repliset模式的mongo集群,

其中167做为协调节点,168作为副节点,169作为主节点

2 配置

在原来169配置文件的基础上,增加一个配置:replSet=mongotest

原配置:

dbpath=/opt/mongodb-3.0.6/db

logpath=/opt/mongodb-3.0.6/log/mongodb.log

logappend=true

新增的两个节点上做相同的配置,并创建好db目录

3 启动和初始化

在三个节点分别启动mongod

然后在其中一个节点上执行:

use admin;

cfg={_id:"mongotest",members:[{_id:0,host:'*.168:27017',priority:1},{_id:1,host:'*.169:27017',priority:2},{_id:2,host:'*.167:27017',arbiterOnly:true}]};

rs.initiate(cfg) 就可以完成配置

priority 最高的节点即169节点将成为主节点

如果在其他节点执行show table等命令将会报错不是主节点Error: listCollections failed: { "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" },因为mongo默认只有主节点有增删改查权限

如果在169上执行命令,会报错如下:

has data already, cannot initiate set

原因是169上曾经插入过数据,找到db对应目录,删除数据库对应文件

重新执行initiate命令

如果想要改变cfg,则用rs.reconfig命令即可。

4 注意

默认只有主节点接受增删改查,要想在从节点上查询数据的话,得在从节点上线执行下 rs.slaveOk();

5 维护

增加节点:rs.add

删除节点:rs.remove

                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                               
                                                 x
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: