mongodb节点配置指南
2017-07-19 16:30
190 查看
修改复制集节点的优先级
复制集节点的 priority 参数的值决定了选举中该节点的优先级。值越高,优先级越高。
我们可以通过修改复制集配置参数中 members 数组位置的优先级来修改对应机器的优先级。数组索引从 0 开始。不要将数组下标与数组 _id 混淆。
复制节点的默认是是1,延迟节点和隐藏节点的值为0.priority 的值可以是1-1000的任意浮点数。
在维护视窗时间内修改优先级。修改优先级会使主节点降职并触发选举。在选举前,主节点将关闭所有已有连接。
复制集节点的优先级影响了 elections 的结果。我们通过设置不同的优先级来提高部分节点成为主节点的可能性,也可以让某些节点不能成为主节点
设置节点优先级:
1:拷贝集群配置文件
cfg = rs.conf()
2:修改每个成员的优先级
cfg.members[0].priority = 0.5
cfg.members[1].priority = 2
cfg.members[2].priority = 2
3:修改集群配置文件
rs.reconfig(cfg)
禁止从节点升职为主节点:
在复制集的默认设置下。 secondary 是有机会在选举中升职为主节点的。我们可以调节 priority 来使得某个节点成为主节点的可能性更高或者更低又或是禁止其成为主节点。
不能成为主节点的从节点也不会触发选举。在其他方面与其他从节点无区别。
我们可以将 secondary 的优先级设置为 0 来阻止其在选举中升职为 primary 。 关于这样的设定的意义请参见 优先级为0的复制集成员 。
1:拷贝集群配置文件
cfg = rs.conf()
2:设置节点的优先级
cfg.members[2].priority = 0
3:修改集群配置文件
rs.reconfig(cfg)
配置一个隐藏节点:
将节点0配置为隐藏节点
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
rs.reconfig(cfg)
配置一个延迟复制的节点:
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
cfg.members[0].slaveDelay = 3600
rs.reconfig(cfg)
配置一个不参与投票的节点:
cfg = rs.conf()
cfg.members[3].votes = 0
cfg.members[4].votes = 0
cfg.members[5].votes = 0
rs.reconfig(cfg)
将从节点转换为投票节点:
1:如果我们的应用程序是直接连接到从节点的,我们需要修改应用程序的连接方式让其不会再在该从节点是进行查询。
2:关闭从节点
3:主节点执行,然后进行移除:rs.remove("<hostname><:port>")
通过在 mongo 窗口中执行 rs.conf() 命令来确认复制集中已经不再包含该节点
4:将从节点的数据目录移至其他处以作保留。
如。mv /data/db /data/db-old
5:新建一个空的数据目录并在新的 mongod 启动过程中指定其为数据目录。我们可以使用之前的目录名。如:
mkdir /data/db
mongod --port 27021 --dbpath /data/db --replSet rs
6:主节点添加他为新的投票节点
rs.addArb("<hostname><:port>")
复制集节点的 priority 参数的值决定了选举中该节点的优先级。值越高,优先级越高。
我们可以通过修改复制集配置参数中 members 数组位置的优先级来修改对应机器的优先级。数组索引从 0 开始。不要将数组下标与数组 _id 混淆。
复制节点的默认是是1,延迟节点和隐藏节点的值为0.priority 的值可以是1-1000的任意浮点数。
在维护视窗时间内修改优先级。修改优先级会使主节点降职并触发选举。在选举前,主节点将关闭所有已有连接。
复制集节点的优先级影响了 elections 的结果。我们通过设置不同的优先级来提高部分节点成为主节点的可能性,也可以让某些节点不能成为主节点
设置节点优先级:
1:拷贝集群配置文件
cfg = rs.conf()
2:修改每个成员的优先级
cfg.members[0].priority = 0.5
cfg.members[1].priority = 2
cfg.members[2].priority = 2
3:修改集群配置文件
rs.reconfig(cfg)
禁止从节点升职为主节点:
在复制集的默认设置下。 secondary 是有机会在选举中升职为主节点的。我们可以调节 priority 来使得某个节点成为主节点的可能性更高或者更低又或是禁止其成为主节点。
不能成为主节点的从节点也不会触发选举。在其他方面与其他从节点无区别。
我们可以将 secondary 的优先级设置为 0 来阻止其在选举中升职为 primary 。 关于这样的设定的意义请参见 优先级为0的复制集成员 。
1:拷贝集群配置文件
cfg = rs.conf()
2:设置节点的优先级
cfg.members[2].priority = 0
3:修改集群配置文件
rs.reconfig(cfg)
配置一个隐藏节点:
将节点0配置为隐藏节点
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
rs.reconfig(cfg)
配置一个延迟复制的节点:
cfg = rs.conf()
cfg.members[0].priority = 0
cfg.members[0].hidden = true
cfg.members[0].slaveDelay = 3600
rs.reconfig(cfg)
配置一个不参与投票的节点:
cfg = rs.conf()
cfg.members[3].votes = 0
cfg.members[4].votes = 0
cfg.members[5].votes = 0
rs.reconfig(cfg)
将从节点转换为投票节点:
1:如果我们的应用程序是直接连接到从节点的,我们需要修改应用程序的连接方式让其不会再在该从节点是进行查询。
2:关闭从节点
3:主节点执行,然后进行移除:rs.remove("<hostname><:port>")
通过在 mongo 窗口中执行 rs.conf() 命令来确认复制集中已经不再包含该节点
4:将从节点的数据目录移至其他处以作保留。
如。mv /data/db /data/db-old
5:新建一个空的数据目录并在新的 mongod 启动过程中指定其为数据目录。我们可以使用之前的目录名。如:
mkdir /data/db
mongod --port 27021 --dbpath /data/db --replSet rs
6:主节点添加他为新的投票节点
rs.addArb("<hostname><:port>")
相关文章推荐
- MongoDB安装配置快速指南
- Mongodb被动(passive)节点配置 推荐
- MongoDB 复制集节点增加移除及节点属性配置
- mongodb需要配置仲裁节点
- mongodb集群安装及延迟节点配置
- Mongodb延迟复制节点配置
- 在 Windows Server 2008 中配置双节点文件服务器故障转移群集的循序渐进指南
- 一、mongodb之单个实例、主从配置、多个节点
- mongodb 三节点Shard Replica set 配置
- MAVEN指南-2、settings 文件节点配置详解
- Mongodb 3节点 Rep set +sharding 配置
- spring配置mongodb连接副本集多个节点
- mongodb需要配置仲裁节点
- 自定义应用程序配置节点
- swift单节点配置遇到的一些问题和解决办法,希望大家补充
- Linux下Mongodb的主从配置 .
- Primavera P6 安装配置指南
- mongodb配置
- Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务
- mongodb的安装配置,使用