标签:host mongodb 添加 port set aries font fonts secondary
副本集是一组保持相同数据集的mongod实例。 副本集包含多个数据承载节点和可选的一个仲裁节点。 在数据承载节点中,只有一个成员被认为是主节点,而其他节点被认为是次节点。
主设备接受所有的写操作,从设备可以接受读操作但是需要设置rs.slaveOk()。主机的所有改变数据集的操作都会被记录在oplog中
从机复制主设备上的oplog日志并执行相应操作以保证数据和主机最终一致
主机和副本集中的其他成员超过10秒钟没有联系(心跳检测),有选举资格的从机就会举行一次选举并选举自己为新的主设备。举行选举并获得大多数成员投票的第一名从设备成为主设备
mongodb建议副本集中有三个及以上的节点。下面是在一台电脑上配置的。
dbpath=
logpath=
port=
bind_ip=
replSet=
使用配置文件启动mongod 实例,-f conPath 或者 –config conPath,根据三个配置文件依次启动三个服务器
mongod -f D:\mongodb\config.conf
mongod --config D:\mongodb\confif.conf
mongo --port 27000
副本集中的各个节点需要互相感知。在已建立连接的客户端窗口,初始化副本集
config={"_id": repSetName,
"members":[
{"_id": num,"host":"serverHost:port"},{}
]
}
rs.initiate(config)
初始化副本集后,再进行操作会发现前缀已经改变了。 replSetName:SECONDARY 说明连接的服务器已被推选为主设备 或 replSetName:PROMARY 连接的服务器是从设备
mongodb会使用默认的算法选举出主设备,其他为从设备。mongoDB 最多支持7个可参与选举的成员
rs.status() //查看成员的运行状态等信息
rs.config() //查看配置信息
rs.slaveOk() //允许在SECONDARY节点上进行查询操作,默认从节点不具有查询功能
rs.isMaster() //查询该节点是否是主节点
rs.add({}) //添加新的节点到该副本集中
rs.remove() //从副本集中删除节点
更多的命令可以使用rs.help()查询
现在我们原有的三个服务器的基础上再添加一个。
rs.isMaster()
从设备是不具有添加成员权限的所以应该先查找主设备,从上面可以看到主设备是127.0.0.1:27022。
mongo --port 27022 //连接主设备
rs.add("127.0.0.1:27033") //添加了一个使用27033端口的服务器
mongod -f D:\mongodb\config3.conf //改配置文件和其他的基本一致
mongo --port 27033
标签:host mongodb 添加 port set aries font fonts secondary
原文地址:https://www.cnblogs.com/xc1234/p/9026480.html