前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongodb3 分片集群平滑迁移

mongodb3 分片集群平滑迁移

作者头像
py3study
发布2020-01-08 16:53:50
1.2K0
发布2020-01-08 16:53:50
举报
文章被收录于专栏:python3python3python3

分片集群平滑迁移实验(成功)

过程概述:

为每个分片添加多个从节点,然后自动同步。同步完后,切换主节点到新服务器节点。

导出原来的config 数据库,并导入到新服务器的config数据库

停掉整个集群,可以使用kill 命令停掉

新服务器 启动 config 进程 ,启动mongod 分片进程,

最后启动mongos进程,注意config的地址需要变成新的节点地址

验证成功!

老服务器的三分片数据 迁移到 新服务器的三片集群

老分片环境:

192.168.168.56  22001 22002 22003

192.168.168.57  22001 22002 22003

192.168.168.58  22001 22002 22003

新分片环境

192.168.6.103  22001  22002 22003

192.168.6.104  22001 22002 22003

192.168.6.105  22001 22002 22003

#### 新服务器搭建分片服务:

(按照配置标准启动服务,mongos服务 可以先不启用)

 /usr/local/mongodb/bin/mongod --configsvr--dbpath /data/mongodb/config/data --port 21000 --logpath/data/mongodb/config/log/config.log --fork

 /usr/local/mongodb/bin/mongod --shardsvr--replSet shard1 --port 22001 --dbpath /data/mongodb/shard1/data --logpath/data/mongodb/shard1/log/shard1.log --fork --oplogSize 10000

/usr/local/mongodb/bin/mongod--shardsvr --replSet shard2 --port 22002 --dbpath /data/mongodb/shard2/data--logpath /data/mongodb/shard2/log/shard2.log --fork --oplogSize 10000

/usr/local/mongodb/bin/mongod--shardsvr --replSet shard3 --port 22003 --dbpath /data/mongodb/shard3/data--logpath /data/mongodb/shard3/log/shard3.log --fork --oplogSize 10000

#

####老服务器操作:主从集群增加新节点

增加 新的主从服务器到分片节点,让mongodb自同步数据到新服务器三分片

主/从rs.add('192.168.6.103:22001')

从    rs.add('192.168.6.104:22001')

总裁 rs.add('192.168.6.105:22001','arbiterOnly:true')

总裁 rs.add('192.168.6.103:22002','arbiterOnly:true')

主/从rs.add('192.168.6.104:22002')

从    rs.add('192.168.6.105:22002')

从       rs.add('192.168.6.103:22003')

总裁    rs.add('192.168.6.104:22003','arbiterOnly:true')

主/从    rs.add('192.168.6.105:22003')

#####老服务器操作:更改权重,切换priority

同步完成后,更改权重,切换主priority到新的服务器,让老的主节点变成从节点

22001 主服务器操作:

rs.conf();

cfg=rs.conf();

cfg.members[0].priority=1

cfg.members[3].priority=2

rs.reconfig(cfg);

22002主服务器操作:

rs.conf();

cfg=rs.conf();

cfg.members[2].priority=1

cfg.members[4].priority=2

rs.reconfig(cfg);

22003  主服务器操作:

rs.conf();

cfg=rs.conf();

cfg.members[1].priority=1

cfg.members[5].priority=2

rs.reconfig(cfg);

######主切换完成后删除 旧服务器的 从节点:

rs.remove('192.168.168.56:22001')

rs.remove('192.168.168.57:22001')

rs.remove('192.168.168.58:22001')

rs.remove('192.168.168.56:22002')

rs.remove('192.168.168.57:22002')

rs.remove('192.168.168.58:22002')

rs.remove('192.168.168.56:22003')

rs.remove('192.168.168.57:22003')

rs.remove('192.168.168.58:22003')

###原配置服务(21000)导出config库并导入新的配置服务

导出config 库

# mongodump --port21000 -d config  #导出

导入config 到新的服务器config

# mongorestore--port 21000 -d config /root/dump/config/  #导入

停掉所有的服务器的进程,关闭整个集群包括config  mongod  和 mongos

####在新服务器启动服务#

启动整个集群,包括:config  mongod 和mongos进程

如果启动mongos进程没有报错,则说明mongodb分片集群平滑迁移成功

#备注#

config服务器需要替换成新的服务器ip地址和端口

/usr/local/mongodb/bin/mongos--configdb 192.168.6.103:21000,192.168.6.104:21000,192.168.6.105:21000--port 30000 --chunkSize 50 --logpath /data/mongodb/mongos/log/mongos.log--fork

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分片集群平滑迁移实验(成功)
    • 过程概述:
      • #### 新服务器搭建分片服务:
        • ####老服务器操作:主从集群增加新节点
          • #####老服务器操作:更改权重,切换priority
            • ######主切换完成后删除 旧服务器的 从节点:
              • ###原配置服务(21000)导出config库并导入新的配置服务:
                • ####在新服务器启动服务#
                相关产品与服务
                云数据库 MongoDB
                腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档