mongodb replica set 添加/删除节点方法

   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"
                },
                {
                        "_id" : 3,
                        "host" : "redhatB.example.com:27021"
                }
        ]
}

  
   备注:计划删除节点 "_id" : 3。

--2 关闭 27021 节点服务

 [mongo@redhatB data04]$ ps -ef | grep 27021
mongo    11733     1  0 21:03 ?        00:00:15 mongod -f /pgdata_xc/mongodb/data04/mongodb_27021.conf
mongo    14422  2953  0 21:53 pts/0    00:00:00 mongo 127.0.0.1:27021
mongo    14490  4027  0 21:54 pts/1    00:00:00 grep 27021
[mongo@redhatB data04]$ kill 11733

  

--3 查看 replica set 状态

 rs0:PRIMARY> rs.status();
{
        "set" : "rs0",
        "date" : ISODate("2012-11-22T13:57:15Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "redhatB.example.com:27018",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 21279,
                        "optime" : Timestamp(1353589624000, 1),
                        "optimeDate" : ISODate("2012-11-22T13:07:04Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "redhatB.example.com:27019",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 18908,
                        "optime" : Timestamp(1353589624000, 1),
                        "optimeDate" : ISODate("2012-11-22T13:07:04Z"),
                        "lastHeartbeat" : ISODate("2012-11-22T13:57:13Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 2,
                        "name" : "redhatB.example.com:27020",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 18900,
                        "optime" : Timestamp(1353589624000, 1),
                        "optimeDate" : ISODate("2012-11-22T13:07:04Z"),
                        "lastHeartbeat" : ISODate("2012-11-22T13:57:14Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 3,
                        "name" : "redhatB.example.com:27021",
                        "health" : 0,
                        "state" : 8,
                        "stateStr" : "(not reachable/healthy)",
                        "uptime" : 0,
                        "optime" : Timestamp(1353589624000, 1),
                        "optimeDate" : ISODate("2012-11-22T13:07:04Z"),
                        "lastHeartbeat" : ISODate("2012-11-22T13:55:20Z"),
                        "pingMs" : 0,
                        "errmsg" : "socket exception [CONNECT_ERROR] for redhatB.example.com:27021"
                }
        ],
        "ok" : 1
}

  备注:最后一个节点 stateStr 状态为 “not reachable/healthy”。
 
--4 删除节点

 rs0:PRIMARY> rs.remove("redhatB.example.com:27021");
Thu Nov 22 21:58:45 DBClientCursor::init call() failed
Thu Nov 22 21:58:45 query failed : admin.$cmd { replSetReconfig: { _id: "rs0", version: 5, members: [ { _id: 0, host: "redhatB.example.com:27018" }, { _id: 1, host: "redhatB.example.com:27019" }, { _id: 2, host: "redhatB.example.com:27020" } ] } } to: 127.0.0.1:27018
Thu Nov 22 21:58:45 Error: error doing query: failed src/mongo/shell/collection.js:155
Thu Nov 22 21:58:45 trying reconnect to 127.0.0.1:27018
Thu Nov 22 21:58:45 reconnect 127.0.0.1:27018 ok
rs0:SECONDARY>
rs0:PRIMARY>

  

--5 再次查看 replica set 配置

 rs0:PRIMARY> rs.conf();
{
        "_id" : "rs0",
        "version" : 5,
        "members" : [
                {
                        "_id" : 0,
                        "host" : "redhatB.example.com:27018"
                },
                {
                        "_id" : 1,
                        "host" : "redhatB.example.com:27019"
                },
                {
                        "_id" : 2,
                        "host" : "redhatB.example.com:27020"
                }
        ]
}

  备注:节点 "redhatB.example.com:27021" 已删除。

  --6 删除旧结点数据目录

 代码如下  

 [mongo@redhatB mongodb]$ rm -rf  /mongodb/data04 

时间: 2024-12-27 13:40:40

mongodb replica set 添加/删除节点方法的相关文章

mongodb replica set 添加删除节点的2种方法_MongoDB

一,利用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&

hadoop教程(十二) HDFS添加删除节点并进行集群平衡

HDFS添加删除节点并进行hdfs balance 方式1:静态添加datanode,停止namenode方式 1.停止namenode 2.修改slaves文件,并更新到各个节点 3.启动namenode 4.执行hadoop balance命令.(此项为balance集群使用,如果只是添加节点,则此步骤不需要) ----------------------------------------- 方式2:动态添加datanode,不停namenode方式 1.修改slaves文件,添加需要增加

JQuery给元素添加/删除节点比如select_jquery

jQuery获取Select选择的Text和Value: 复制代码 代码如下: var checkText=jQuery("#select_id").find("option:selected").text(); //获取Select选择的Text var checkValue=jQuery("#select_id").val(); //获取Select选择的option Value var checkIndex=jQuery("#se

三星A7(2016) SM-A7100简易模式下添加/删除联系人方法

若想在简易模式下添加/删除联系人,请按照以下步骤操作:    1.在简易模式下,向右滑动屏幕.    2.您可以将常用联系人添加到该页面,点击[+]图标.(注:您最多可以添加12个联系人.)    3.您可以选择[新建联系人]或[添加现有联系人],这里以[添加现有联系人]为例.    4.如选择[测试].    5.该联系人已成功添加.     6.若您需要删除该页面上的联系人,请点击[编辑].     7.点击联系人上的[-]图标.    8.点击[移除].(注:仅联系人快捷方式被删除,不会删

100分请教 treeview 选择,修改和删除节点方法

问题描述 新增顶级监控 大门 101 新增下级监控 修改 删除- 一号楼 108 新增下级监控 修改 删除+ 底层 120 新增下级监控 修改 删除- 一楼 123 新增下级监控 修改 删除 - 楼梯 123 新增下级监控 修改 删除 - 监查处 123 新增下级监控 修改 删除 - 605室门 251 新增下级监控 修改 删除 解决方案 解决方案二:学习,先顶一个-解决方案三:http://topic.csdn.net/t/20050815/18/4210247.html解决方案四:该回复于

【Mongodb】 replica set 添加和删除节点。

   前面介绍了如何搭建replica set ,本文介绍如何向replica set 添加新节点和删除老节点.     向已有的replica set 添加新成员是很简单的,新加的成员可以是空的,当然也可以是从其他节点的数据拷贝,下面介绍一下如何添加新成员: 添加新成员时,必须在新的机器上先起来一个mongodb服务,必须指出要加入的replica set 集群的名字基本语法如下(其他是默认的),然后再在replica set的master 库上执行添加操作, ./mongod -dbpath

【Mongodb】 replica set 两种添加节点方法的日志分析

    这篇文章算是<replica set 添加和删除节点>的点缀,本来没打算查看添加节点的第二种方法,即拷贝其他节点的数据文件到新的节点,本着"入微"的原则,对两种方法做一下对比,具体添加节点的过程和前面介绍的一样,只是在启动mongod服务之前要拷贝数据文件到本机. 下面是空库添加到一个replica set中的日志记录: ####连接primary库 Tue Nov  1 14:22:57 [initandlisten] connection accepted fr

JS实现添加,替换,删除节点元素的方法_javascript技巧

本文实例讲述了JS实现添加,替换,删除节点元素的方法.分享给大家供大家参考,具体如下: 一直以来,对于节点操作比较纠结,特别是插入到某某节点之后.居然没有这个方法,以前的我写的方法有问题,是把新节点插入到旧节点的里面去了,还是该用insertBefore方法可以实现 下面是方法: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose

win7系统添加/删除管理单元方便管理网络服务的方法

  win7系统添加/删除管理单元方便管理网络服务的方法            具体方法如下: 1.首先打开win7操作系统,在单击开始-运行; 2.在运行里输入mmc在回车键; 3.可以看到了控制台根节点.在单击文件; 4.单击文件之后在单击添加/删除管理单元; 5.这里在单击添加; 6.这里就出现了添加独立管理单元; 7.这里可以选择要添加的组件,在单击添加就可以放到控制台根节点; 8.可以看到了DNS和IP安全监视器组件.