搭建副本集

下载与安装的MongoDB
1.首先进入mongodb的网官 点击打开链接

2.然后点击“下载”

3.选择社区服务器(社区服务器)进行下载


4.由于我服务器系统为centos的,所以选择的Linux,此时可以选择将mongodb的下载下来后上传到服务器,也可以通过wget的指令下载mongodb的,如下边第二个图所示



5.然后解压压缩包


6.由于文件名过长,可以通过mv oldname newname来重命名文件名

搭建副本集

7.由于本文在一个服务器上模拟mongodb的副本集,所以将mongodb1复制为mongodb2,mongodb3如下图所示


8.接下来在mongodb的文件夹下新建data,log和conf文件夹,然后分别在数据文件夹下新建master,slave和arbitrate 

[root @ VM_0_2_centos mongodb1]#mkdir data
[root @ VM_0_2_centos mongodb1]#mkdir log
[root @ VM_0_2_centos mongodb1]#cd data
[root @ VM_0_2_centos data]#mkdir master
[root @ VM_0_2_centos data]#cd ../../ mongodb2
[root @ VM_0_2_centos mongodb2]#mkdir data
[root @ VM_0_2_centos mongodb2]#mkdir log
[root @ VM_0_2_centos mongodb2]#cd data
[root @ VM_0_2_centos data]#mkdir slave
[root @ VM_0_2_centos data]#cd ../ .. / mongodb3
[root @ VM_0_2_centos mongodb3]#mkdir data
[root @ VM_0_2_centos mongodb3]#mkdir log
[root @ VM_0_2_centos mongodb3]#cd data
[root @ VM_0_2_centos data]#mkdir arbitrate
[root @ VM_0_2_centos data]#cd ../
[ root @ VM_0_2_centos mongodb3]#cd ../
[root @ VM_0_2_centos local]#cd mongodb1
[root @ VM_0_2_centos mongodb1]#mkdir conf
[root @ VM_0_2_centos mongodb1]#cd ../mongodb2
[root @ VM_0_2_centos mongodb2]#mkdir conf
[root @ VM_0_2_centos mongodb2]#mkdir ../ mongodb3 / conf目录

9.接下来在三个数据的conf文件夹下编写配置文件“vi mongodb.conf”

mongodb1:

port = 27017 #mongodb端口
logappend = true#以追加的方式记录日志
dbpath = / usr / local / mongodb1 / data / master#数据存放目录
logpath = / usr / local / mongodb1 / log / master.log#日志存放目录
fork = true#后台运行
oplogSize = 2048#同步操作记录文件大小(MB)
smallfiles = true#使用较小的默认文件
replSet = dbset#副本集名称,同一个副本集,名称必须一致

mongodb2:

port=27018   #mongodb端口
logappend=true #以追加的方式记录日志
dbpath=/usr/local/mongodb2/data/slave  #数据存放目录
logpath=/usr/local/mongodb2/log/slave.log #日志存放目录
fork=true        #后台运行
oplogSize=2048   #同步操作记录文件大小(MB)
smallfiles=true  #使用较小的默认文件
replSet=dbset    #副本集名称,同一个副本集,名称必须一致

mongodb3:

port=27019   #mongodb端口
logappend=true #以追加的方式记录日志
dbpath=/usr/local/mongodb3/data/arbitrate  #数据存放目录
logpath=/usr/local/mongodb3/log/arbitrate.log #日志存放目录
fork=true        #后台运行
oplogSize=2048   #同步操作记录文件大小(MB)
smallfiles=true  #使用较小的默认文件

replSet=dbset    #副本集名称,同一个副本集,名称必须一致

10.然后到bin目录启动mongodb,输入如下指令 "./mongod -f ../mongodb.conf"


11.此时三台mongodb已经启动成功,进入你想成为master的那台机器,进入mongodb客户端,在想成为master的mongodb的bin目录下输入“./mongo -port 对应端口”(mongo指令中不输入port默认为27017端口)


12.接下来配置副本集配置副本集,第一个id是副本集名称。
config={_id : 'dbset',members : [{_id : 1, host : '127.0.0.1:27017'},{_id : 2, host : '127.0.0.1:27018'}]} 
13.接下来初始化副本集配置,在客户端内输入“rs.initiate( config )”

14.添加仲裁服务器,在客户端输入“rs.addArb("127.0.0.1:27019") ”
15. 可以通过查看副本集状态(输入“rs.status()”),查看三个mongodb的状态 

16.此时副本集已搭建完成。

mongodb副本集测试

主从复制:

17.在master的mongodb上新建mydb,并插入集合acc


18.在从节点的mongodb查看是否完成复制,可以如下图看到已经完成主从复制


主从替换:

19.通过模拟主节点宕机来检验主从替换。(在联网状态下可以通过在主机器添加防火墙规则,假装主宕机,看看是如何变成一个新的主节点。由于本文是在同一服务器上部署了三个mongodb的,可以通过杀死指令杀死主进程来达到宕机效果,如下图所示


20.当主宕机后访问27018(从节点)端口,可以看到该端口对应的mongodb变成了主节点,以及当执行rs.status()命令时,显示27017端口的mongodb的状态为不可达/健康


查看权重:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值