Mongodb添加副本及修改优先级
1、添加副本集
#在primary节点上执行
>rs.add( { host: "192.168.1.11:27017", priority: 2 } )
#host:指定要添加的mongodb服务器的ip和端口
#priority:指定副本集的权限
移除节点:
>rs.remove("192.168.1.11:27017")
2、添加仲裁节点
#在primary节点上执行
>rs.add('mongodb3.example.net:27017', true)
或
>rs.addArb(host)
3、添加隐藏节点
>rs.add({host:'10.10.2.8:27017',priority:0,hidden:true})
隐藏节点,在副本集内不会被应用连接,也不会参与选主,直接连接是可以操作的。A replica set member that cannot become primary and are invisible to client applications. See Hidden Replica Set Members.
4、在线修改优先级
#必须在primary节点上执行此操作,副本集中通过设置priority的值来决定优先权的大小。这个值的范围是0--100,值越大,优先权越高. 如果值是0,那么不能成为primay。适用于做冷备。
PRIMARY> config=rs.conf()
PRIMARY>config.members[2].priority = 6
PRIMARY> rs.reconfig(config)
#第一步config=rs.conf()是将现有的配置读取到变量中,进行存储。
#第二步config.members[2].priority = 6,修改变量中的值,2是指执行rs.config()命令,从上到下排序的值(即你看到的节点是第几个),这个值是从0开始的。比如一共有四个节点的副本集,从上到下的排序为0-1-2-3。0代表第一个;6表示优先级大小,数值越大优先级越高。
#第三步rs.reconfig(config),将修改后的数据同步到配置中,使修改生效。
5、副本集连接
使用mongoos连接的时候,如果连接的节点超过1个,那将以副本集的方式进行连接即只要有连个或两个以上的节点连接后,会将连接发送到除arbiter节点意外的所有节点。如果直连接1个节点,那么会以standalong的方式进行连接,不会广播连接。