mongodb 复制集合的搭建

使用3台服务器 搭建复制集合,1主 2从,正常情况是三台服务器,现在测试搭建 在一台服务器上面
 1、端口分别是:28017 28018 28019
 2、 数据目录:/data/db1,/data/db2,/data/db3
  mkdir -p /data/db1
  mkdir -p /data/db2
  mkdir -p /data/db3
 3、建立日志文件:
    touch /data/db1/mongod.log
    touch /data/db2/mongod.log
    touch /data/db3/mongod.log
 4、配置文件(注意是yml文件格式)
  vim /data/db1/mongod.conf

systemLog:
  destination: file
  path: /data/db1/mongod.log
  logAppend: true
storage:
  dbPath: /data/db1
net:
  bindIp: 0.0.0.0
  port: 28017
replication:
  replSetName: rs0
processManagement:
  fork: true

vim /data/db2/mongod.conf

systemLog:
  destination: file
  path: /data/db2/mongod.log
  logAppend: true
storage:
  dbPath: /data/db2
net:
  bindIp: 0.0.0.0
  port: 28018
replication:
  replSetName: rs0
processManagement:
  fork: true

vim /data/db3/mongod.conf

systemLog:
  destination: file
  path: /data/db3/mongod.log
  logAppend: true
storage:
  dbPath: /data/db3
net:
  bindIp: 0.0.0.0
  port: 28019
replication:
  replSetName: rs0
processManagement:
  fork: true

5、启动
分别启动
mongod -f /data/db1/mongod.conf   --fork  
mongod -f /data/db2/mongod.conf   --fork   
mongod -f /data/db3/mongod.conf   --fork  

6、链接
mongo --host 192.168.31.31 --port 28017
初始化复制集
rs.initiate({
_id:"rs0",
members:[{
_id:0,
host:"localhost:28017"
},{
_id:1,
host:"localhost:28018"
},{
_id:2,
host:"localhost:28019"
}]
})

查看状态
rs.status()


7、注意默认非主节点不能读数据

 rs.secondaryOk() 开启读权限