《NoSQL数据库技术与应用》 MongoDB副本集
在MongoDB中,要创建一个简单的副本集,你需要至少三个节点:一个主节点(primary),一个副本节点(secondary),以及一个仲裁节点(arbiter)。这里是如何在MongoDB中设置副本集的步骤:
- 确保你已经安装了MongoDB并且每个实例都在运行。
- 配置副本集。
以下是启动MongoDB实例并配置副本集的示例代码:
# 在三个不同的终端中启动MongoDB实例,分别对应于主节点、副本节点和仲裁节点。
# 主节点
mongod --port 27017 --dbpath /srv/mongodb/db0 --replSet rs0
# 副本节点
mongod --port 27018 --dbpath /srv/mongodb/db1 --replSet rs0
# 仲裁节点
mongod --port 27019 --dbpath /srv/mongodb/db2 --replSet rs0 --maxConns 100
// 连接到其中一个MongoDB实例
mongo --port 27017
// 在MongoDB shell中初始化副本集
rs.initiate(
{
_id: "rs0",
members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" },
{ _id: 2, host: "localhost:27019", arbiterOnly: true }
]
}
)
这将创建一个名为rs0
的副本集,其中包含一个主节点(localhost:27017
),一个副本节点(localhost:27018
),和一个仲裁节点(localhost:27019
)。
当你插入数据到主节点时,它会自动复制到副本节点。如果主节点不可用,副本节点会自动升级为新的主节点。这个过程完全由MongoDB副本集机制处理,对于应用程序来说是透明的。
评论已关闭