replica set多服务器主从,添加,删除节点,肯定会经常遇到的。下面详细说明一下,添加,删除节点的2种方法。
一,利用rs.reconfig,来添加,删除节点
1,添加节点
代码如下repmore:PRIMARY> config = {_id:"repmore",members:[{_id:0,host:'127.0.0.1:27017',priority :2},{_id:1,host:'127.0.0.1:27018',priority:1}]}; //添加节点
repmore:PRIMARY> rs.reconfig(config); //使配置生效
repmore:PRIMARY> rs.status(); //查看节点状态
节点添加成功。
注意:新增节点的replSet要和其他节点要一样
2,删除节点(删除节点前最好是先关闭需要删除的节点,之后通过命令 rs.remove 来删除)
代码如下repmore:PRIMARY> config = {_id:"repmore",members:[{_id:0,host:'127.0.0.1:27017',priority :2}]}; //删除节点
repmore:PRIMARY> rs.reconfig(config); //使配置生效
repmore:PRIMARY> rs.status(); //查看节点状态
二,利用rs.add和rs.remove来添加删除节点
代码如下repmore:PRIMARY> rs.add("127.0.0.1:27018"); //添加节点
repmore:PRIMARY> rs.remove("127.0.0.1:27018"); //删除节
注意:利用rs.add和rs.remove是不用rs.reconfig来使用配置生效的。
最后对于删除节点我这里再附一个标准流程给各位
相应的节点,操作如下:
代码如下--1 查看当前 Replica Set 配置
[mongo@redhatB mongodb]$ mongo 127.0.0.1:27018
MongoDB shell version: 2.2.1
connecting to: 127.0.0.1:27018/test
rs0:PRIMARY> rs.conf();
{
"_id" : "rs0",
"version" : 4,
"members" : [
{
"_id" : 0,
"host" : "redhatB.example.com:27018"
},
{
"_id" : 1,
"host" : "redhatB.example.com:27019"
},
{
"_id" : 2,
"host" : "redhatB.example.com:27020"
},