MongoDB 副本集配置

MongoDB副本集(Replica Set)是一种高可用性的数据存储解决方案,它由多个副本节点组成,其中一个是主节点,其余为从节点,当主节点发生故障时,副本集会自动选举一个新的主节点,从而保证数据的持续可用性,以下是副本集配置的详细步骤。
副本集配置步骤
准备环境
在配置副本集之前,确保所有节点已安装MongoDB并启动。
创建副本集
在主节点上,执行以下命令创建副本集:
db.runCommand({replSetInitiate: {
_id: "replicaSet",
members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" },
{ _id: 2, host: "localhost:27019" }
]
}})命令中,_id代表副本集成员的编号,host代表成员的地址和端口,根据实际情况修改host值。
添加从节点
在从节点上,执行以下命令加入副本集:

mongo --port 27018
> rs.initiate({ _id: "replicaSet", members: [
{ _id: 0, host: "localhost:27017" },
{ _id: 1, host: "localhost:27018" }
]})同样,根据实际情况修改host值。
验证副本集状态
在任意节点上,执行以下命令查看副本集状态:
rs.status()
如果输出中包含members信息,且所有节点的状态为PRIMARY、SECONDARY或RECOVERING,则说明副本集配置成功。
副本集参数配置
以下是一些常用的副本集参数配置:
日志记录
logpath: /var/log/mongodb/mongodb.log logappend: true
端口配置
port: 27017
节点编号

processId: 1000
节点名称
local.system.namespaces.find({name: "config"}).forEach(function(db) {
db.update({name: "config"}, {
$set: {
"data.configsvr.name": "configsvr",
"data.configsvr.host": "localhost:27018"
}
});
});数据目录
dbpath: /var/lib/mongodb
FAQs
Q1:如何查看副本集成员信息?
A1:在任意节点上,执行以下命令:
rs.status()
Q2:如何手动切换主节点?
A2:在任意节点上,执行以下命令:
rs.stepDown()
副本集会自动选举一个新的主节点。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/104317.html




