1、增加、删除节点
rs.add("ip:port"); // 新增从节点
rs.addArb("ip:port"); // 新增仲裁节点
2、原理
主节点oplog同步
3、复制集选举:
当一个成员节点加入到复制集以后,发现无法到达主节点,这个时候此节点会认为当前复制集没有主节点,就会发起申请成为主节点操作,然后将请求发送给复制集中所有当前节点可达的其他成员节点。其他成员节点在接受到这个请求以后,会检查此节点是否满足作为主节点的条件,比如先检查在当前复制集中是否有可达的主节点存在,如果已经有主节点存在了,那么会直接拒绝,如果找不到已经存在的主节点,就会去检查发起申请的节点的数据是否比当前节点的数据更新,如果比当前数据更新,说明对于当前节点来说,是比较合适作为主节点的,否则也会拒绝申请
注意: 选举需要大多数投票才能通过,当从节点个数为偶数时为避免无线重复选举,建议增加一个arbiter。
服务端版本、硬件配置需一致。
对于一个拥有三个成员的复制集,每个成员都可以投票,那么只有其中的两个人可以保持联通的话,复制集就可以进行一次选举。如果其中两个变的不可用,剩下的那个节点如果是从节点的话,那么它仍然还是一个从节点,因为它不能和其他的成员保持连通。同样的道理如果该节点是主节点的话,也会自动的降级成为从节点,因为它不能和别的成员保持连通,失去了成为主节点的资格.这样的话该复制集就变成只读了。
4、majority

image.png