作者:容易
迁移原因:由于的当初只有2台物理服务器,搭建mongodb reset时一共3个节点,临时性将其中的2个备用节点部署到了同一台物理服务器上,这样可能会造成的后果,假如部署备用节点的物理机宕机,会造成主节点也不可用,基于此原因根据现有环境搭建了测试平台模拟迁移过程。
一、创建初始数据库,还原testdb 192.168.4.165上操作
1、先关闭数据库
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb.conf --shutdown
2、启动数据库修改配置文件,将reset相关配置全部删除
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb.conf
3、启动完成后登录数据库,创建管理用户
/home/mdb/mongodb/bin/mongo 127.0.0.1:8010
use admin;
db.addUser('root','tiger');
4、还原数据库
mongorestore -h 192.168.4.165:8010 -d test bb/*
5、重启数据库,修改配置增加reset参数
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb.conf --shutdown
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb.conf
6、启动192.168.4.164:8011,8012库
先将库关闭
/home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb8011.conf --shutdown
/home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb8012.conf --shutdown
将db目录重命名,建立新的db目录
启动
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb8011.conf
numactl --interleave=all /home/mdb/mongodb/bin/mongod -f /home/mdb/mongodb/etc/mdb8012.conf
7、初始化reset
在192.168.4.165:8010上操作
mongo 192.168.4.165:8010/admin -u root -p
use admin;
tigerdb={_id:'tigerdb',members:[{_id:165,host:'192.168.4.165:8010',priority:2},{_id:11,host:'192.168.4.164:8011',priority:1},{_id:12,host:'192.168.4.164:8012',priority:1}]}
rs.initiate(tigerdb)
测试数据库可用性
8、测试完成后,新增加mdb节点
首先需要先将 192.168.4.166:8010启动
然后逐个添加,添加完成一个再添加另外一个,新增加的节点增加 directoryperdb=true 参数
rs.add({_id:13,host:"192.168.4.166:8010"});
rs.add({_id:14,host:"192.168.4.164:8010"});
同步状态查询。
rs.status()
9、删除旧的节点,删除节点会引起reset重新选举,数据库集群将瞬间不可用,持续时间大概5秒以内。
rs.remove("192.168.4.164:8011")
rs.remove("192.168.4.164:8012")
10、修改192.168.4.165:8010优先级,修改成员优先级会引发重新选举,数据库集群将瞬间不可用,持续时间大概5秒以内。
cfg = rs.conf()
cfg.members[0].priority = 5
rs.reconfig(cfg)
修改 192.168.4.164:8010 优先级,修改优先级会引发mdb重新选举主节点,持续通过在5秒内,可能会出现数据库连接中断的情况。
cfg = rs.conf()
cfg.members[1].priority = 3
rs.reconfig(cfg)
11、
One Response