千家信息网

mongodb之master/slave模式

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,### mongodb的主从配置(不带auth认证)### 注意事项:- 服务器节点之前时间要同步- 开启防火墙的一定要允许通过相关端口- 开启selinux的也要进行设置- 建立双击互信模式最好不过
千家信息网最后更新 2025年01月20日mongodb之master/slave模式

### mongodb的主从配置(不带auth认证)


### 注意事项:

- 服务器节点之前时间要同步

- 开启防火墙的一定要允许通过相关端口

- 开启selinux的也要进行设置

- 建立双击互信模式最好不过


### master配置文件

  • - 添加了master = true 这一行即可

  • - 多网卡机器bind_ip这一行尽可能写成一个具体地址(最好写内网地址),因为slave上是根据这个同步的



[root@blog ~]# sed -e '/^#/d;/^$/d' /etc/mongodb.confbind_ip = 192.168.58.10 port = 27017fork = truepidfilepath = /var/run/mongodb/mongodb.pidlogpath = /var/log/mongodb/mongodb.logdbpath =/mongo/datajournal = truemaster = truenohttpinterface = true[root@blog ~]#


### slave配置文件

  • 添加了以下两行

- slave = true

- source = 192.168.58.10:27017

[root@redis ~]# sed -e '/^#/d;/^$/d' /etc/mongodb.confbind_ip = 192.168.58.30port = 27017fork = truepidfilepath = /var/run/mongodb/mongodb.pidlogpath = /var/log/mongodb/mongodb.logdbpath =/var/lib/mongodbjournal = truenohttpinterface = trueslave = truesource = 192.168.58.10:27017[root@redis ~]#


### 重启两节点的mongodb服务进行初始化操作并验证数据同步情况

  • master


[root@blog ~]# [root@blog ~]# hostnameblog.unix178.com[root@blog ~]# mongoMongoDB shell version: 2.4.6connecting to: test> show dbsadmin0.203125GBlocal10.0732421875GBtest0.203125GBzhuima0.203125GB>



  • slave


[root@redis ~]# hostnameredis.unix178.com[root@redis ~]# mongoMongoDB shell version: 2.4.6connecting to: test> show dbsadmin0.203125GBlocal0.078125GBzhuima0.203125GB>


### 查看同步情况

  • master服务器上


[root@blog ~]# mongo 192.168.58.30MongoDB shell version: 2.4.6connecting to: 192.168.58.30/test> show dbsadmin0.203125GBlocal0.078125GBnick0.203125GBtest0.203125GBzhuima0.203125GB>


  • slave服务器上


[root@redis ~]# mongo 192.168.58.10MongoDB shell version: 2.4.6connecting to: 192.168.58.10/test> show dbs;admin0.203125GBlocal10.0732421875GBnick0.203125GBtest0.203125GBzhuima0.203125GB>



### 添加新的数据进行验证

  • master上添加数据


[root@redis ~]# mongo 192.168.58.10MongoDB shell version: 2.4.6connecting to: 192.168.58.10/test> show dbs;admin0.203125GBlocal10.0732421875GBnick0.203125GBtest0.203125GBzhuima0.203125GB> use nickswitched to db nick> use newdbswitched to db newdb> db.newdb.insert({new:"yes",info:"nothing"})> show collectionsnewdbsystem.indexes> db.newdb.find(){ "_id" : ObjectId("53cbd4b35974b01658718b2d"), "new" : "yes", "info" : "nothing" }>



  • slave上验证


[root@blog ~]# mongo 192.168.58.30MongoDB shell version: 2.4.6connecting to: 192.168.58.30/test> show dbsadmin0.203125GBlocal0.078125GBnick0.203125GBtest0.203125GBzhuima0.203125GB> show dbsadmin0.203125GBlocal0.078125GBnewdb0.203125GBnick0.203125GBtest0.203125GBzhuima0.203125GB> use newdbswitched to db newdb> show collectionsnewdbsystem.indexes> db.newdb.find(){ "_id" : ObjectId("53cbd4b35974b01658718b2d"), "new" : "yes", "info" : "nothing" }>


### 后记

  • mongodb官方已经不再推荐使用master/salve模式的结构

  • 官方推荐使用replica_set复制集模式

  • 仅供参考







0