Loading

centos7搭建 mongodb 主从复制

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

新建conf配置文件

# 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

 

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

vi 28002.conf

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

 

 

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

mkdir 28001 28002 28003

 

 

 

分别启动他们 

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

ps -aux|grep mongod # 查看进程

  

 

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

mongo mongodb://localhost:28001

 

切换到 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"}]} 

 

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

 

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

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

rs.initiate(config)

 

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

 

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

rs.status()

 

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

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

db.pigs.find()

 

连接一下 28002 从节点

mongo mongodb://192.168.136.128:28002

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

 

添加从节点为true就可以了

rs.slaveOk(true)

 

切换一下数据库

use test
db

 

现在再查询发现是可以了

 

 

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

 

posted @ 2020-04-27 12:54  TinaRoot  阅读(674)  评论(7编辑  收藏  举报