ITPub博客

首页 > 数据库 > NoSQL > mongodb分片物理搬迁方案

mongodb分片物理搬迁方案

原创 NoSQL 作者:dbs101 时间:2022-03-06 15:27:56 0 删除 编辑

mongodb分片架构的物理搬迁方案


mongodb分片整体迁移到另外一个集群,常规做法使用加减节点方式,如果有长时间维护窗口,采用物理拷贝的方式也可以,操作相对容易。但是mongodb的有些配置信息放在数据库中,如果需要修改的话,需要先使用standaalone方式启动,然后修改相关配置信息后再启动。


下面是相关的步骤:


1. 数据节点,修改mg.cnf,ip+port,

1.1 关闭replicaset和shard,以standalone方式重启,修改两个部分


mongo -u __system -p"$(tr -d '\011-\015\040' < $MONGODB_HOME/etc/mg.key)" --host $IP --port $PORT --authenticationDatabase local


--修改数据节点的ip地址+端口

use local

db.system.replset.find()

cfg = db.system.replset.findOne({ "_id": "mg_s2" })

cfg.members[0].host = "192.168.0.38:23092"

db.system.replset.update( { "_id": "mg_s2" } , cfg )


--修改数据节点连接配置节点的ip地址+端口

use admin

db.system.version.find()

 

db.system.version.update( { "_id" : "shardIdentity" }, { $set: { "configsvrConnectionString": "mg_c/192.168.0.39:6608" } }, { multi: true })

 

1.2 重启mongodb数据节点


2. 修改配置节点,

1.1 关闭replicaset和shard,以standalone方式重启,修改两个部分

 

修改配置节点的ip地址+端口

use local

db.system.replset.find()

cfg = db.system.replset.findOne({ "_id": "mg_c" })

cfg.members[0].host = "192.168.0.38:6608"

db.system.replset.update( { "_id": "mg_c" } , cfg )


修改连接数据节点的ip地址+端口

use config

db.shards.update( { "_id" : "mg_s0" }, { $set: { "host": "mg_s0/192.168.0.39:6607" } }, { multi: true })

db.shards.update( { "_id" : "mg_s1" }, { $set: { "host": "mg_s1/192.168.0.38:6606" } }, { multi: true })

db.shards.update( { "_id" : "mg_s2" }, { $set: { "host": "mg_s2/192.168.0.39:6605" } }, { multi: true })

 

2.2 其他配置节点

删除data目录,

 

2.3 增加其他两个配置节点同步

rs.add("192.168.0.38:23099")

rs.add("192.168.0.38:23103")

 

3. 修改路由节点

修改mg.cnf,修改配置节点的配置信息ip+port,


4. 重启路由节点,配置节点和数据节点。


5. 验证。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25105315/viewspace-2865285/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论
喜欢oracle、redis、mysql、pg数据库

注册时间:2010-12-18

  • 博文量
    94
  • 访问量
    473121