mongoDB Sharded Cluster迁移后更改各个server的IP地址作者:sylar版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

mongoDB sharding服务器架构如下图:



【背景说明】
当mongoDB Sharded Cluster发生迁移时候,如果采用冷备方式或者其他方式迁移,而需要更改每个节点记录的IP地址信息,下面就具体介绍更改IP地址方法 【副本集部分】
按照如下方式修改每个分片的副本集的主从关系、config的副本集主从关系


config=rs.conf()

config.members[0].host="10.9.110.116:30001"

rs.reconfig(config,{force:true})

根据实际情况,更改每个节点的IP地址信息,config.members[0]的数字是根据rs.conf()显示的自然排序来的,从0开始,并非id
【shard部分】

修改mongos记录分片的IP地址

>use config;

>db.shards.find()

{ "_id" :"kk-comic-test-shard02", "host" :"kk-comic-test-shard02/10.9.70.22:30004,10.9.70.22:30005" }

{ "_id" :"kk-comic-test-shard03", "host" :"kk-comic-test-shard03/10.9.70.22:30007,10.9.70.22:30008" }

{ "_id" :"kk-comic-test-shard01", "host" :"kk-comic-test-shard01/10.9.110.116:30001,10.9.110.116:30002" }


将上述地址进行如下更改:

>db.shards.update({ "_id" : "kk-comic-test-shard02" }, { $set: {"host":"kk-comic-test-shard02/10.9.110.116:30004,10.9.110.116:30005" } }, {multi: true })

>db.shards.update({ "_id" : "kk-comic-test-shard03" }, { $set: {"host":"kk-comic-test-shard03/10.9.110.116:30007,10.9.110.116:30008" } }, {multi: true })

>db.shards.update({ "_id" : "kk-comic-test-shard01" }, { $set: {"host":"kk-comic-test-shard01/10.9.110.116:30001,10.9.110.116:30002" } }, {multi: true })