mongodb副本集优先级设置
在设置mongodb副本集时,Primary节点。second节点,仲裁节点,有可能资源配置(CPU或者内存)不均衡,所以要求某些节点不能成为Primary
我们知道mongodb的设置:
除了仲裁节点,其它每一个节点都有个优先权,能够手动设置优先权来决定谁的成为primay的权重最大。
副本集中通过设置priority的值来决定优先权的大小。这个值的范围是0--100,值越大,优先权越高。
默认的值是1,rs.conf是不显示的;
假设值是0,那么不能成为primay。
查询优先级: rs.config()
1.规划时直接设置,这个就略过了
2.在线增加的节点配置:
配置过程:
通过改动priority的值来实现(默认的优先级是1(0-100)。priority的值设的越大,就优先成为主)
1)PRIMARY> config=rs.conf()
2)PRIMARY>config.members[3].priority = 3 这里要注意:0表示第一个节点,1表示第二个节点,以此类推
3)PRIMARY> rs.reconfig(config)
注意:第2步members大括号中面的成员和_id是没有关系的,而是rs.conf查出来节点的数值的顺序;
这些操作必须在Primary上进程。
布置副本集一般都是奇数个数,奇数个数情况下主挂了会有从变为组
如果布置个数为偶数个,必须加入仲裁节点或者设置优先级等级(但是只剩一个节点的话,优先级也没用了,必须是加仲裁节点)