mongo数据库主从备份服务集群搭建

Posted jshy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongo数据库主从备份服务集群搭建相关的知识,希望对你有一定的参考价值。

MongoDB 主从备份

环境: centos 7 ,mongodb x86_64

mongodb 官网下载页:https://www.mongodb.com/download-center#community

下载完毕,解压到指定的目录,我现在就把它放到/opt目录下(是绿色版的,不用安装)

技术分享图片

在bin/这个目录下,都是mongodb的相关工具,

常用 工具说明:

bsondump   --将Bson格式的文件转储为Json 格式的数据

mongo        --mongo客户端(用于连接mongodb)

mongod      --mongodb数据加主服务器(用于启动mongo)

mongodump  --mongodb数据库备份工具

mongoimport  --用于导入数据文件到mongodb

mongostore  --恢复

只是简单列出几个。。。

mongodb是要指定数据库文件与日志文件的位置的,所以我在/home目录上创建三个data目录结构都一样的文件夹

技术分享图片

 

注:mongodb  搭建主从备份 至少的服务器数据为3台,否则无法实现主从备份。 在此我就只使用同一台主机,指定不同的端口与实现

 

三台 mongodb 服务器的主从备份 ,在现在生产中只要把IP改为真实的IP就OK

 

命令:

mongod --bind_ip server_ip --port 端口 --dbpath 数据文件保存路径 --logpath 日志文件/mongodb.log --replSet 服务器集群名称

 

三台mongo数据库服务器启动成功,

技术分享图片

 

注:第一台启动的端口在:1000,数据文件保存 在/home/data1/db

    第二台端口在:2000  数据文件保存 在/home/data2/db

   第三台端口在3000  数据文件保存 在/home/data3/db

重点:最后那个参数 : --replSet  [名字]      这个参数后面的名字  是要一样的,否则无法通讯

 

服务器搭建成功,接下来就初始化配置:

 

使用 mongo --host ip --port   连接上服务对应的服务器

 

连接上三台mongoDB服务器并任意选一台初始化:

注:此时如果不进入初始化并配置是什么也做不了的如图:

技术分享图片

提示  slaveOK= false

 

初始化命令:

rs.initiate()

技术分享图片

初化成功,查看服务器状态:

 

查看服务器当前状态:

rs.status()

技术分享图片

可以看到  "stateStr"  :  "PRIMARY"   看到此选项说明此服务器已是主服务器,接下来要只要在此服务器中添加从服务器的IP与端口

 

在主服务器中添加副本集:


rs.add(‘从服务器IP:端口‘)

 

成功添加两台从服务器:

技术分享图片

 

注:上面只要没报错就成功添加,也可以看到  左下角那个光标:Mserver:PRIMARY>   说明它是主服务器

至此:在主服务器中的配置结束 ,切换到从服务器中执行:rs.slaveOk()  这个命令就完成了

 

在主服务器初始化并成功添加从器后

 

在从服务器中执行:

rs.slaveOK()

 

 

最终结果:

技术分享图片

 

注:只有主服务器才能写入数据,从服务器只能读,当主服务器  岩机 时,从服务器中随机有一台自动切换成主服务器,而岩机的那台

服务器修好后开机会自动切换为从服务器,并从主服务器中备份缺失的数据。

 

 

 

  

 

 

 


 







以上是关于mongo数据库主从备份服务集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

mongoDB实战mongo集群---主从复制篇

mongdb分片原理以及分片副本集群搭建

Redis 进阶 -- 搭建主从复制及哨兵模式集群

25-mysql服务器集群搭建

Mongo分片+副本集集群搭建

Mongo集群搭建之MongoDB基础