--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" } ] } |