首先 在目录下面新建三个文件夹 分别 conf data logs 

centos7搭建 mongodb 主从复制_it技术

新建conf配置文件

centos7搭建 mongodb 主从复制_mongodb_02

centos7搭建 mongodb 主从复制_linux_03

# mongodb 配置文件
port=28001  #端口
bind_ip=0.0.0.0 #默认是127.0.0.1
dbpath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/data/28001  #数据库存放
logpath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/logs/28001.log #日志文件
fork=true #设置后台运行
#auth=true #开启认证
logappend=true  # 日志叠加
pidfilepath=/usr/apk/mongodb/mongodb-linux-x86_64-rhel70-4.2.5/data/28001/28001.pid  # 进程id
oplogSize=1024  # 操作日志最大值 m单位
replSet=pigs   # 自定义的名称

 

分别复制2两个  28002.conf 28003.conf

cp 28001.conf 28002.conf

centos7搭建 mongodb 主从复制_mongodb_04

centos7搭建 mongodb 主从复制_mongodb_05

 

编辑28002.conf 28003.conf 然后使用全局替换的方式 我这里都替换了 

vi 28002.conf

 /1,$s/28001/28002/g     # 全局替换

centos7搭建 mongodb 主从复制_mongodb_06

 

 

然后现在data目录下新建3个目录 分别是 28001 28002 28003 记得要切换目录

mkdir 28001 28002 28003

centos7搭建 mongodb 主从复制_linux_07

centos7搭建 mongodb 主从复制_linux_08

 

 

 

分别启动他们 

mongod --config 28001.conf
mongod --config 28002.conf
mongod --config 28003.conf

ps -aux|grep mongod # 查看进程

centos7搭建 mongodb 主从复制_配置文件_09 centos7搭建 mongodb 主从复制_linux_10 centos7搭建 mongodb 主从复制_it技术_11

 

现在都已经启动了,连接测试一下

mongo mongodb://localhost:28001

centos7搭建 mongodb 主从复制_mongodb_12

 

切换到 admin 库中

use admin # 使用admin库

#编辑 config 配置文件 ip地址不建议添写 localhost 或者 127.0.0.1

config={
... _id:"pigs",
... members:[
... {_id:0,host:"192.168.136.128:28001"},{_id:1,host:"192.168.136.128:28002"},{_id:2,host:"192.168.136.128:28003"}]} 

centos7搭建 mongodb 主从复制_it技术_13

 

 回车就会自动帮我们排序好

centos7搭建 mongodb 主从复制_linux_14

 

现在我们把28003设置为嫉妒者,当然你也可设置其他的

config.members[2] = {"_id":2,"host":"192.168.136.128:28003","arbiterOnly":true}

rs.initiate(config)

centos7搭建 mongodb 主从复制_mongodb_15

 

添加完成就可以建立连接了回车几下,看到很陌生不要慌这说明你已经搭建成功

centos7搭建 mongodb 主从复制_linux_16

 

查看一下状态,你可以看到里面的状态信息

rs.status()

centos7搭建 mongodb 主从复制_linux_17

 

存取值一下,发现是没有问题的

db.pigs.insert({"name":"yang"})

db.pigs.find()

centos7搭建 mongodb 主从复制_linux_18

 

连接一下 28002 从节点

mongo mongodb://192.168.136.128:28002

不管你怎么做都是报的,这时候怎么办呢

centos7搭建 mongodb 主从复制_linux_19

 

添加从节点为true就可以了

rs.slaveOk(true)

centos7搭建 mongodb 主从复制_it技术_20

 

切换一下数据库

use test
db

centos7搭建 mongodb 主从复制_mongodb_21

 

现在再查询发现是可以了

centos7搭建 mongodb 主从复制_mongodb_22

 

 

总结,没有什么难的,用心看代码尽量减少代码出错的,如果有什么问题就评论留言吧,第一时间回复你