MongoDB 主从复制 #Master配置 yum -y install mongodb mongodb-server mkdir -p /mongodb/dbs/master mkdir /mongodb/logs/master mongod --dbpath=/mongodb/dbs/master/ --logpath=/mongodb/logs/master/logs.txt --logappend --oplogSize=64 --port=20000 --master --fork
#Slave1配置 yum -y install mongodb mongodb-server mkdir -p /mongodb/logs/slave1 mkdir -p /mongodb/dbs/slave1 mongod --dbpath=/mongodb/dbs/slave1/ --logpath=/mongodb/logs/slave1/logs.txt --logappend --oplogSize=64 --port=20001 --slave --source=192.168.10.176:20000 --fork
#Slave2配置 yum -y install mongodb mongodb-server mkdir -p /mongodb/logs/slave2 mkdir -p /mongodb/dbs/slave2 mongod --dbpath=/mongodb/dbs/slave2/ --logpath=/mongodb/logs/slave2/logs.txt --logappend --oplogSize=64 --port=20002 --slave --source=192.168.10.176:20000 --fork
#参数解释 --dbpath 数据库文件路径 --logpath 日志文件路径 --master 指定为主节点 --slave 指定为从节点 --source 指定主节点机器的IP地址 --pologSize 主节点操作记录,默认大小为当前可用磁盘空间的5%(64位机器最小值为1G,32位机器为50M),单位为mb。 --logappend 日志文件末尾添加 --port 指定端口号 --only 用在从节点中,用于指定只复制特定的数据库(默认是复制全部),如--only test 从节点只复制test数据库 --fork 在后台运行 --slavedelay 用在从节点上,指从复制检测的时间间隔 --autoresync 如果从节点与主节点不同步了,则自动重新同步 一个集群中有多少个从节点并没有明确限制,但是上千个从节点对单个主节点发起查询也会让其吃不消。所以实际中,建议不要超过12个从节点集群, 如果规模比较大,从节点比较多,可以采用菊花链形式复制。
#Master插入数据测试 > use testdb; > show tables; system.indexes testducument01 > db.testducument01.find(); { "_id" : ObjectId("551150c3b893f1a1c290b207"), "name" : "shanqiangwu", "sex" : "M" }
#Slave1验证数据 mongo --port 20001 > show dbs; local 0.078125GB testdb 0.203125GB > use testdb; > show tables system.indexes testducument01 > db.testducument01.find(); { "_id" : ObjectId("551150c3b893f1a1c290b207"), "name" : "shanqiangwu", "sex" : "M" }
#Slave2验证数据 mongo --port 20002 > show dbs; local 0.078125GB testdb 0.203125GB > use testdb; > show tables system.indexes testducument01 > db.testducument01.find(); { "_id" : ObjectId("551150c3b893f1a1c290b207"), "name" : "shanqiangwu", "sex" : "M" }
时间: 2024-10-13 15:41:47