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 --oplogSize 100 --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.从节点查询