启动三个实例配置replica set
创建路径
$ mkdir /mongodb/28017/{conf,data,log} -p
$ mkdir /mongodb/28018/{conf,data,log} -p
$ mkdir /mongodb/28019/{conf,data,log} -p
编辑配置文件
$ cat /mongodb/28017/conf/mongod.conf
systemLog:
destination: file
path: /mongodb/28017/log/mongodb.log
logAppend: true
storage:
journal:
enabled: true
dbPath: /mongodb/28017/data
directoryPerDB: true
#engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 1
directoryForIndexes: true
collectionConfig:
blockCompressor: zlib
indexConfig:
prefixCompression: true
processManagement:
fork: true
net:
port: 28017
bindIp: 0.0.0.0
replication:
oplogSizeMB: 2048
replSetName: my_repl
其他实例配置文件内容类似
启动实例
$ mongod -f /mongodb/28017/conf/mongod.conf
$ mongod -f /mongodb/28018/conf/mongod.conf
$ mongod -f /mongodb/28019/conf/mongod.conf
配置复制集
> config={_id:"my_repl",members: [{_id:0,host:'192.168.3.105:28017'},{_id:1,host:'192.168.3.105:28018'},{_id:2,host:'192.168.3.105:28019'}]}
在mongodb复制集当中,默认从库不允许读写。从库需要做以下配置才可读写
> rs.slaveOk()
复制集基本管理操作
## 查看复制集状态
> rs.status()
## 查看当前节点是否主节点
rs.isMaster()
## 添加删除节点
rs.add("ip:port")
rs.addArb("ip:port")
rs.remove("ip:port")
## 配置参数,members中的序号,是节点顺序,顺序以 0 开始计数
cfg=rs.conf()
cfg.members[1].priority=0
cfg.members[1].slaveDelay=120
cfg.members[1].hidden=true
rs.reconfig(cfg)
## 查看副本集的配置信息
> rs.config()
## 主从手动切换,单位是秒
> rs.stepDown()
## 锁定从库,不会转变主库,单位是秒
admin> rs.freeze(300)
## 设置副本节点可读:在副本节点执行
admin> rs.slaveOk()
## 查看从库节点
admin> rs.printSlaveReplicationInfo()
标签:mongod,rs,##,mongodb,28017,复制,conf
From: https://www.cnblogs.com/zbc230/p/17501488.html