一、新增从库节点
# -- 直接 rs.add 即可添加 从库实例 到 RS 复制集群
dbawsp:PRIMARY> rs.add('10.25.21.13:27017')
二、踢出从库节点
# -- 直接 rs.remove 即可删除 从库实例 离开 RS 复制集群
dbawsp:PRIMARY> rs.remove('10.25.21.13:27017')
三、新增仲裁节点
# -- 直接 rs.addArb 即可添加 仲裁实例 到 RS 复制集群
dbawsp:PRIMARY> rs.addArb('10.25.21.13:27017')
四、修改仲裁节点
# -- 先将 10.25.21.13:27017 实例踢出 RS 复制集群
dbawsp:PRIMARY> rs.remove('10.25.21.13:27017')
# -- 再将 10.25.21.13:27017 实例以 仲裁角色 加入 RS 复制集群
dbawsp:PRIMARY> rs.addArb('10.25.21.13:27017')
五、查询实例角色
- 在 MongoDB 复制集群任意节点执行就可以获取从库状态信息
#' -- 获取当前集群内所有从库信息与复制延迟状态
dbawsp:PRIMARY> rs.printSlaveReplicationInfo()
# -- 查询当前节点是否为 Master 角色
dbawsp:PRIMARY> rs.isMaster()
六、配置实例标签
-
设置
members = 0
的实例标签为{"city":"SH-JD"}
( 上海-嘉定 ) -
注意:Arbiter 节点( 仲裁节点 )
无法设置标签
dbawsp:PRIMARY> rs_config = rs.conf()
dbawsp:PRIMARY> rs_config.members[0].tags = {"city":"SH-JD"}
dbawsp:PRIMARY> rs.reconfig(rs_config)
七、配置切换优先级
-
rs.conf()
是 MongoDB 配置信息 -
修改
members = 2
的从库切换优先级改为10
-
当设置
rs_config.members[2].priority = 0
表示禁止members = 2
的从库提升为主库 -
注意:配置从库切换
优先级
后,如果大约当前集群的Primary
节点的优先级,将会立即触发主从切换
# -- 将 MongoDB 配置保存临时变量中,然后通过修改临时变量值进行重载配置( 不限制在某个库下执行 )
dbawsp:PRIMARY> rs_config = rs.conf()
dbawsp:PRIMARY> rs_config.members[2].priority = 10
dbawsp:PRIMARY> rs.reconfig(rs_config)