MongoDB副本集
//
# 副本集
注意:官方推荐的Mongodb副本集机器数量为至少3个节点
1.当只有两个
权限高的,宕了,什么都做不了,恢复宕掉的,切换主到备的后,瞬间又会切换回来权限高的
2.当有三个
权限高的宕了,先切换到正常的,然后切换到正常使用中,且 priority权限最高的那个
# 创建和配置
创建副本集:mongod --bind_ip 192.168.40.85 -f /opt/mongodb/conf/mongodb.conf --replSet yyy
参数:"--replSet" 指定副本集名称,若想加入该集群,后面都使用这个名称
连接:mongo 192.168.40.85:27014/admin
一切操作修改只能在 主 PRIMARY 上操作
初始化,备份数据,会删除所有的数据
mongo > rs.initiate()
#添加副本
添加方式1:mongo > rs.add({host:"192.168.40.85:27013",priority:3}) #指定权重为 3
添加方式2:mongo > rs.add("192.168.40.85:27017") #priority默认为1
#设置仲裁者
mongo > rs.add('192.168.40.85:27017',arbiterOnly:true)
1
2
3
4
5
6
2
3
4
5
6
- 删除
mongo > rs.remove("192.168.40.85:27012")
- 查看配置
mongo > rs.config()
- 查看状态
mongo > rs.status()
- 查看主从关系
mongo > rs.isMaster()
- 重新配置权重,选主
mongo > config = rs.config()
- 修改权重,members:是rs.config()当前节点数的下标,比如总共4个,想要修改第3个,下标就是2
mongo > config.members[2].priority=2
- 生效配置
mongo > rs.reconfig(config)
- 检查节点信息
mongo > rs.config()
- 查看备份节点的复制信息
mongo > db.printSlaveReplicationInfo()
# 从无法读,配置slaveOK()
mongo命令行:rs.slaveOk()
配置文件,永久生效
find / -name .mongorc.js #/root/.mongorc.js 权限600
rs.slaveOk(); #添加改行,默认文件为空
代码层:db.getMongo().setSlaveOk()
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
//
如果此文章对您有帮助,点击 -->> 请博主喝咖啡 (opens new window)
上次更新: 2023/11/06, 17:40:01