停服迁移
仲裁节点剔除,正常关闭服务,关闭服务前,先关从节点,再关主节点
1. 登录主节点剔除仲裁节点
use admin
db.auth("admin","admin1234")
cfg=rs.conf();
cfg.member[0].priority=2
rs.remove("192.168.62.23:27017")
2. 登录备节点关闭备库
use admin
db.auth("admin","admin1234")
db.shutdownServer()
3. 登录主节点关闭主库
若失败可尝试多次,或强制关闭
use admin
db.auth("admin","admin1234")
db.shutdownServer()
4. 所有节点修改ip和配置文件
vim /mongodb/mongodb.yaml 修改此中ip地址
5. 修改完网卡地址,重启网络服务
cd /etc/sysconfig/network-scripts/
vim
/etc/init.d/network restart
6. 启动mongo服务
先启动主,再启动备,最后添加仲裁
mongod -f /mongodb/mongodb.yaml
use admin
db.auth("admin","admin1234")
cfg=rs.conf();
cfg.members[0].host = "192.168.62.24:27017"
cfg.members[1].host = "192.168.62.25:27017"
rs.reconfig(cfg);
rs.reconfig(cfg,{force:true});
7. 在主节点添加仲裁节点
rs.addArb("192.168.62.26:27017")
8. 查看状态
若有之前残留节点,可执行rs.remove进行删除
rs.status()
交替迁移
该方法也适用于shard集群中复制集IP修改,IP修改后mongos可自动识别
1. 登录备库,关闭服务
use admin
db.auth("admin","admin1234")
db.shutdownServer()
2. 修改ip地址
修改配置文件,重启网络服务,启动mongo服务
cd /etc/sysconfig/network-scripts/
vim
vim /mongodb/mongodb.yaml 修改此中ip地址
/etc/init.d/network restart
mongod -f /mongodb/mongodb.yaml
3. 登录主节点,修改成员配置
use admin
db.auth("admin","admin1234")
cfg = rs.conf()
cfg.members[1].host = "192.168.62.22:27017"
rs.reconfig(cfg)
4. 查看状态
查看状态,确认没问题,将现在的主切换为备
rs.status()
5. 登录主库,降级
主库执行,稍等后有个备节点会成为主
rs.stepDown(1000)
6. 登录旧主节点,关闭服务
use admin
db.auth("admin","admin1234")
db.shutdownServer()
7. 修改ip地址
修改配置文件,重启网络服务,启动mongo服务
cd /etc/sysconfig/network-scripts/
vim
vim /mongodb/mongodb.yaml 修改此中ip地址
/etc/init.d/network restart
mongod -f /mongodb/mongodb.yaml
8. 登录新主节点,修改成员配置
use admin
db.auth("admin","admin1234")
cfg = rs.conf()
cfg.members[0].host = "192.168.62.21:27017"
rs.reconfig(cfg)
9. 查看状态
查看状态,确认没问题,配置仲裁节点
use admin
db.auth("admin","admin1234")
rs.status()
11. 登录仲裁节点,关闭服务
use admin
db.shutdownServer()
12. 登录新主节点,剔除仲裁节点
use admin
db.auth("admin","admin1234")
rs.remove("192.168.62.26:27017")
13. 修改ip地址
修改配置文件,重启网络服务,启动mongo服务
cd /etc/sysconfig/network-scripts/
vim
vim /mongodb/mongodb.yaml 修改此中ip地址
/etc/init.d/network restart
mongod -f /mongodb/mongodb.yaml
14. 登录新主,添加仲裁节点
use admin
db.auth("admin","admin1234")
rs.addArb("192.168.62.23:27017")
15. 查看状态
确认没有问题,迁移完成
rs.status()