您的位置:首页 > 数据库 > Mongodb

mongodb3 分片集群平滑迁移

2017-01-20 09:44 246 查看

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

过程概述:

为每个分片添加多个从节点,然后自动同步。同步完后,切换主节点到新服务器节点。
导出原来的config 数据库,并导入到新服务器的config数据库
停掉整个集群,可以使用kill 命令停掉
新服务器 启动 config 进程 ,启动mongod 分片进程,
最后启动mongos进程,注意config的地址需要变成新的节点地址
验证成功!

老服务器的三分片数据 迁移到 新服务器的三片集群老分片环境:192.168.168.56 22001 22002 22003192.168.168.57 22001 22002 22003192.168.168.58 22001 22002 22003 新分片环境192.168.6.103 22001 22002 22003192.168.6.104 22001 22002 22003192.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=1cfg.members[3].priority=2rs.reconfig(cfg); 22002主服务器操作:rs.conf();cfg=rs.conf();cfg.members[2].priority=1cfg.members[4].priority=2rs.reconfig(cfg); 22003 主服务器操作:rs.conf();cfg=rs.conf();cfg.members[1].priority=1cfg.members[5].priority=2rs.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb3 分片 sharding