三台主机ubuntu22.04
172.16.195.139
172.16.195.140
172.16.195.141
配置文件
systemLog:
destination: file
path: "/mongodb/log/mongodb.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/mongodb/data"
processManagement:
fork: true
net:
bindIp: 0.0.0.0
port: 27017
replication:
oplogSizeMB: 2048
replSetName: "my_repl"
启动三台机器(三个节点都执行)
mongod -f /mongodb/conf/conf.yaml
配置复制集(在其中一个节点执行即可)
config={_id: 'my_repl', members:[{_id: 0, host: '172.16.195.139:27017'}, {_id: 1, host: '172.16.195.140:27017'}, {_id: 2, host: '172.16.195.141:27017'}]}
rs.initiate(config)
上述操作完后即配置完成,可以登录验证
rs.status()
通过上述配置的节点只能在主节点进行插入和查询,从库没法进行任何操作
执行下面命令,让从节点可读
rs.secondaryOk()