mongodb 分片集群切换单个分片副本集primary的正确步骤
2016-07-14 21:58
776 查看
1、将原来的primay降为secondary
shard1:PRIMARY> rs.stepDown(); 2016-07-11T20:35:30.134+0800 I NETWORK DBClientCursor::init call() failed 2016-07-11T20:35:30.141+0800 E QUERY Error: error doing query: failed at DBQuery._exec (src/mongo/shell/query.js:83:36) at DBQuery.hasNext (src/mongo/shell/query.js:240:10) at DBCollection.findOne (src/mongo/shell/collection.js:187:19) at DB.runCommand (src/mongo/shell/db.js:58:41) at DB.adminCommand (src/mongo/shell/db.js:66:41) at Function.rs.stepDown (src/mongo/shell/utils.js:1006:15) at (shell):1:4 at src/mongo/shell/query.js:83 2016-07-11T20:35:30.144+0800 I NETWORK trying reconnect to 10.254.3.63:27017 (10.254.3.63) failed 2016-07-11T20:35:30.146+0800 I NETWORK reconnect 10.254.3.63:27017 (10.254.3.63) ok shard1:SECONDARY> |
2、移除原来的primay库
如果不及时使用rs.remove移除旧的主库的话,mongodb运行中有一定概率会将旧的主库自动从secondary升级为primary的,所以一旦primary切换成功后,需要remove旧的primary库以防万一。Remove执行过程如下:
[mongodb@db_m1_slave_1 ~]$ /usr/local/mongodb-linux-x86_64-3.0.3/bin/mongo 10.254.3.72:27027 MongoDB shell version: 3.0.3 connecting to: 10.254.3.72:27027/test shard1:PRIMARY> rs.remove("10.254.3.63:27017"); 2016-07-11T20:36:01.314+0800 I NETWORK DBClientCursor::init call() failed 2016-07-11T20:36:01.323+0800 E QUERY Error: error doing query: failed at DBQuery._exec (src/mongo/shell/query.js:83:36) at DBQuery.hasNext (src/mongo/shell/query.js:240:10) at DBCollection.findOne (src/mongo/shell/collection.js:187:19) at DB.runCommand (src/mongo/shell/db.js:58:41) at DB.adminCommand (src/mongo/shell/db.js:66:41) at Function.rs.remove (src/mongo/shell/utils.js:1031:23) at (shell):1:4 at src/mongo/shell/query.js:83 2016-07-11T20:36:01.326+0800 I NETWORK trying reconnect to 10.254.3.72:27027 (10.254.3.72) failed 2016-07-11T20:36:01.327+0800 I NETWORK reconnect 10.254.3.72:27027 (10.254.3.72) ok shard1:PRIMARY> shard1:PRIMARY> shard1:PRIMARY> rs.status(); { "set" : "shard1", "date" : ISODate("2016-07-11T12:36:20Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "10.254.3.62:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 19, "optime" : Timestamp(1468240561, 1), "optimeDate" : ISODate("2016-07-11T12:36:01Z"), "lastHeartbeat" : ISODate("2016-07-11T12:36:19Z"), "lastHeartbeatRecv" : ISODate("2016-07-11T12:36:20Z"), "pingMs" : 0, "lastHeartbeatMessage" : "syncing to: 10.254.3.72:27027", "syncingTo" : "10.254.3.72:27027" }, { "_id" : 2, "name" : "10.254.3.72:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 19, "lastHeartbeat" : ISODate("2016-07-11T12:36:19Z"), "lastHeartbeatRecv" : ISODate("2016-07-11T12:36:20Z"), "pingMs" : 0 }, { "_id" : 3, "name" : "10.254.3.72:27027", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 33237, "optime" : Timestamp(1468240561, 1), "optimeDate" : ISODate("2016-07-11T12:36:01Z"), "self" : true } ], "ok" : 1 } shard1:PRIMARY> |
3、查看副本集新运行状态
[mongodb@db_m2_slave1 ~]$ /usr/local/mongodb-linux-x86_64-3.0.3/bin/mongo 10.254.3.72:27027 MongoDB shell version: 3.0.3 connecting to: 10.254.3.72:27027/test shard1:PRIMARY> rs.status(); { "set" : "shard1", "date" : ISODate("2016-07-11T14:13:37Z"), "myState" : 1, "members" : [ { "_id" : 0, "name" : "10.254.3.62:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 5856, "optime" : Timestamp(1468246415, 1), "optimeDate" : ISODate("2016-07-11T14:13:35Z"), "lastHeartbeat" : ISODate("2016-07-11T14:13:36Z"), "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"), "pingMs" : 4, "syncingTo" : "10.254.3.72:27027" }, { "_id" : 2, "name" : "10.254.3.72:27017", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 5856, "lastHeartbeat" : ISODate("2016-07-11T14:13:36Z"), "lastHeartbeatRecv" : ISODate("1970-01-01T00:00:00Z"), "pingMs" : 0 }, { "_id" : 3, "name" : "10.254.3.72:27027", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 39074, "optime" : Timestamp(1468246415, 1), "optimeDate" : ISODate("2016-07-11T14:13:35Z"), "self" : true } ], "ok" : 1 } shard1:PRIMARY> |
相关文章推荐
- tungsten-replicator问题与解决方法
- mongoDB(2):shell基本操作
- mongoDB(1):windows下安装mongoDB(解压缩版)
- MongoDB查询两个属性不相等
- nodejs+mongodb做项目的详解
- mongodb 数组内容匹配删除方法, $all 用法
- mongodb.conf配置文件详解
- MongoDB监控手段大全
- MongoDB 连接查询 $lookup
- 【待整理】MongoDB 数据集
- linux shell中获取mongodb最大连接数、内存使用情况等
- centos安装mongodb即遇到的问题
- 【荐】MongoDB基本命令大全
- 【荐】PHP操作MongoDB GridFS 存储文件,如图片文件
- Mongodb常用的一些监控命令
- Windows下安装MongoDB
- mongodb分片
- JSP连接Mongodb数据库
- 将mysql数据导入mongodb
- 关于PostgreSQL与MongoDB在NoSQL方面的简单对比