mongoDB Sharded Cluster迁移后更改各个server的IP地址


mongoDB  Sharded  Cluster迁移后更改各个server的IP地址

 作者:sylar版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

mongoDB sharding服务器架构如下图:


mongoDB  Sharded  Cluster迁移后更改各个server的IP地址
【背景说明
 
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 })