mongoDB副本集配置(windows操作系统)
1. MongoDB副本集中节点可分为三类:
1.主节点(Primary):接收所有的写请求,并将所有修改同步到所有副节点(Secondary)。
2.副节点(Secondary):与主节点保持相同的数据集。当主节点宕机的时候,其中之一会被选为Primary节点。
3.仲裁节点(Arbiter):仲裁节点不保存数据,也不可能被选为Primary节点,它的作用就是负责选择主节点。
仲裁节点对硬件资源要求很低,通常建议与主、副节点保存在不同机器上。
2.副本集配置
1.创建相应文件夹
data文件夹下再创建3个子文件夹
2.创建配置文件
mongod_1.conf
net:
bindIp: 0.0.0.0, 192.168.0.109 #自己电脑ip地址
port: 27017
storage:
dbPath: D:\mongodb-4.2.25\data\db_1
# 启用 日记功能。日记记录可确保单实例的写持久性。mongod默认情况下,启用日记功能的64位版本
journal:
enabled: true
systemLog:
destination: file
path: D:\mongodb-4.2.25\logs_1\mongod.log
# 禁用输出/日志文件中除最关键的条目以外的所有条目
quiet: true
# 以确保 mongod在服务器启动操作后不会覆盖现有的日志文件
logAppend: false
replication:
replSetName: rs
mongod_2.conf
net:
bindIp: 0.0.0.0, 192.168.0.109
port: 27018
storage:
dbPath: D:\mongodb-4.2.25\data\db_2
# 启用 日记功能。日记记录可确保单实例的写持久性。mongod默认情况下,启用日记功能的64位版本
journal:
enabled: true
systemLog:
destination: file
path: D:\mongodb-4.2.25\logs_2\mongod.log
# 禁用输出/日志文件中除最关键的条目以外的所有条目
quiet: true
# 以确保 mongod在服务器启动操作后不会覆盖现有的日志文件
logAppend: false
replication:
replSetName: rs
mongod_3.conf
#processManagement:
#它启用的 守护程序模式mongod,该模式将MongoDB与当前会话分离(即,“派生”)MongoDB,并允许您将数据库作为常规服务器运行。
#fork: true
net:
bindIp: 0.0.0.0, 192.168.0.109
port: 27019
storage:
dbPath: D:\mongodb-4.2.25\data\db_3
# 启用 日记功能。日记记录可确保单实例的写持久性。mongod默认情况下,启用日记功能的64位版本
journal:
enabled: true
systemLog:
destination: file
path: D:\mongodb-4.2.25\logs_3\mongod.log
# 禁用输出/日志文件中除最关键的条目以外的所有条目
quiet: true
# 以确保 mongod在服务器启动操作后不会覆盖现有的日志文件
logAppend: false
replication:
replSetName: rs
3.启动mongoDB服务
mongod.exe --config "D:\mongodb-4.2.25\replic\mongod_1.conf"
mongod.exe --config "D:\mongodb-4.2.25\replic\mongod_2.conf"
mongod.exe --config "D:\mongodb-4.2.25\replic\mongod_3.conf"
4.启动客服端
mongo
5.初始化副本集
rs.initiate( {
_id : "rs",
members: [
{ _id: 0, host: "192.168.0.109:27017",priority:1},
{ _id: 1, host: "192.168.0.109:27018",priority:2},
{ _id: 2, host: "192.168.0.109:27019",arbiterOnly:true}
]
})