以一个主节点和一个从节点为例(从节点可以有多个),从节点是从主节点定时复制内容(非菊花链)。
主节点(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.从节点查询