`
lovnet
  • 浏览: 6705219 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

mongodb- 主从复制

 
阅读更多

以一个主节点和一个从节点为例(从节点可以有多个),从节点是从主节点定时复制内容(非菊花链)。

主节点(Master):

Mongodb Home:D:\mongodb\mongodb-win32-i386-2.0.4

HOST:localhost:20000

Log File:D:\mongodb\logs\master\logs.txt

Data File:D:\mongodb\dbs\master

从节点1(Slave):

Mongodb Home:D:\mongodb\mongodb-win32-i386-2.0.4

HOST:localhost:20001

Log File:D:\mongodb\logs\slave1\logs.txt

Data File:D:\mongodb\dbs\slave1

将mongodb下的bin目录加入到path环境变量中 方便操作 不用切换目录

启动主节点(Master):

打开dos窗口

mongod --dbpath D:\mongodb\dbs\master --logpath D:\mongodb\logs\master\logs.txt --logappend --oplogSize100 --port 20000 --master

启动从节点1(Slave):

重新打开一个dos窗口

mongod --dbpath D:\mongodb\dbs\slave1 --logpath D:\mongodb\logs\slave1\logs.txt --logappend --port 20001 --slave --source localhost:20000

参数解释:

--dbpath 数据库文件路径
--logpath 日志文件路径
--master 指定为主节点
--slave 指定为从节点
--source 指定主节点机器的IP地址
--pologSize 主节点操作记录,默认大小为当前可用磁盘空间的5%(64位机器最小值为1G,32位机器为50M),单位为mb。
--logappend 日志文件末尾添加
--port 指定端口号
--only 用在从节点中,用于指定只复制特定的数据库(默认是复制全部),如--only test 从节点只复制test数据库
--fork 在后台运行
--slavedelay 用在从节点上,指从复制检测的时间间隔
--autoresync 如果从节点与主节点不同步了,则自动重新同步

一个集群中有多少个从节点并没有明确限制,但是上千个从节点对单个主节点发起查询也会让其吃不消。所以实际中,建议不要超过12个从节点集群,

如果规模比较大,从节点比较多,可以采用菊花链形式复制。

测试:

1.在主节点上面新增数据

2.从节点查询

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics