📅  最后修改于: 2023-12-03 15:22:45.779000             🧑  作者: Mango
副本集(replica set)是MongoDB的一种高可用性部署方式,它通过在多个节点上存储数据副本来提供数据冗余和自动故障转移。副本集通常由三个或更多个MongoDB进程组成,其中有一种是主节点,其余是从节点。 副本集可以确保即使在主节点发生故障时,系统仍然可以正常工作。此外,副本集还提供了其他高级功能,如读取优先级、故障转移、数据恢复等。
使用以下命令启动MongoDB实例:
mongod --port 27017 --dbpath /data/rs1 --replSet rs0
连接到MongoDB实例以执行replica set初始化。在MongoDB shell中,使用以下命令:
mongo --port 27017
在MongoDB shell中,将副本集初始化为如下所示:
rs.initiate()
使用以下命令向副本集添加成员:
rs.add("mongo2.example.net:27017")
使用以下命令查看副本集成员的状态:
rs.status()
优先级用于控制哪个节点成为新的主节点。优先级较高的节点更有可能被选为主节点。 使用以下命令修改优先级:
cfg = rs.conf()
cfg.members[1].priority = 2
rs.reconfig(cfg)
读取优先级用于控制节点投票选出新的主节点。节点的读取优先级越高,越可能被选举为主节点。 使用以下命令修改读取优先级:
cfg = rs.conf()
cfg.members[1].votes = 2
rs.reconfig(cfg)
以上就是对MongoDB副本集的介绍,包括它的优势、必要条件、如何创建和管理副本集等信息。通过学习副本集,可以帮助提高系统的可用性和数据安全性,是MongoDB应用的重要组成部分。