文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mongodb3 分片集群平滑迁移

2023-01-31 04:25

关注

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

过程概述:

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

导出原来的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

 


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯