Mongodb 集群

一、主从复制(master slave)


Mongodb 集群_第1张图片
 

前提准备

   1、在环境变量的path变量的最前面加入:E:\mongodb\bin;

   2、创建主数据库的存储路径:E:\mongodb\master-slave\8888

   3、创建从数据库的存储路径:E:\mongodb\master-slave\9999

主数据库的配置:

 E:\mongodb\master-slave\8888.conf配置文件

dbpath =E:\mongodb\master-slave\8888 #主数据库存储地址
logpath=E:\mongodb\master-slave\8888\mongodb.log
port = 8888 #主数据库端口号
bind_ip = 127.0.0.1 #绑定ip地址
master = true #确定是主服务器

  E:\mongodb\master-slave\8888mongod.bat 启动脚本

mongod --config 8888.conf

  E:\mongodb\master-slave\8888mongo.bat shell脚本

mongo 127.0.0.1:8888

 

从数据库的配置:

  E:\mongodb\master-slave\9999.conf配置文件

dbpath =E:\mongodb\master-slave\9999 #主数据库存储地址
port = 9999 #主数据库端口号
bind_ip = 127.0.0.1 #绑定ip地址
source = 127.0.0.1:8888 #确定主数据库端口,该配置可以在从数据库中动态添加或者删除
slave = true #确定是从服务器

   E:\mongodb\master-slave\9999mongod.bat 启动脚本

mongod --config 9999.conf
   E:\mongodb\master-slave\9999mongo.bat shell脚本
mongo 127.0.0.1:9999

一些其它配置参数说明:

 1、only              从节点-->选择只同步指定数据库  默认是所有数据库   eg: only=test 只同步test数据库。

如果加上该配置项报 --only != test from local.sources collection 错误时

解决办法:执行下面命令,删除错误的信息即可 

db.sources.remove({'host':'127.0.0.1:8888'})

如果删除后还能够查询到那就先停掉主数据库和从数据库,然后再启动从数据库 然后再执行删除操作。

 2、slavedelay   从节点-->设置主数据库同步到从数据库延迟的时间(单位是秒)

 3、fastsync        从节点-->以主数据库节点的快照为节点启动数据库同步。快速同步

 4、autoresync   从节点-->如果主数据库和从数据库不同步则自动从新同步 (对已经运行了一段时间的主数据库同步添加从数据库此时主数据库和从数据库是不同步的)

 5、oplogSize    主节点-->设置主oplog的大小(主节点操作记录到local的oplog中)

 

 

 

利用shell动态添加和删除从节点:

 添加节点:

 

删除节点:

db.sources.remove({'host':'127.0.0.1:8888'})

 

在从数据库

一、复本集(replica set)

 

 

 

二、分片(sharding)

 

 

 

三、复本集(replica set)+分片(sharding)

 

 

你可能感兴趣的:(mongodb,集群)