1.主从复制
mongodb支持在多个机器中通过异步复制达到故障转移和实现冗余
mongodb的主从集群分为两种
【master-slave复制】(主从复制)
只需要在某一个服务启动时加上-master参数而另一个服务加上-slave与-source参数即可实现同步
实例:
主服务器:./mongo --master --dbpath=/usr/local/mongodb/data1/ --logpath=/usr/local/mongodb/dblog1 --fork --port 2001
从服务器:
./mongod --slave --source 127.0.0.1:2001 --dbpath=/usr/local/mongodb/data2/ logpath=/usr/local/mongodb/dblog2 --fork --port 2002
【replica sets复制】(副本集)
1.主要增加了故障自动切换和自动修复成员节点各个DB之间数据完全一致,没有固定的主节点而是由集群中选举产生的
2.部署replica sets
(1)创建数据文件存数路径
mkdir -p /data/data/r0
mkdir -p/data/data/r1
(2)创建日志文件路径
mkdir -p /data/log
(3)创建主从key文件用于标识集群的私钥的完整路径如果各个实例的key file内容不一致 程序兼顾不能正常用
mkdir -p /data/key
echo “this is rs1 super secret key” > /data/key/r0
echo “this is rs1 super secret key” > /data/key/r1
chmod 600 /data/key/r*
(4)启动两个实例
./mongod --replSet rs1 --keyFile /data/key/r0 --fork --port 28010 --dbpath /data/data/r0 --logpath=/data/log/r0.log --logappend
./mongod --replSet rs1 --keyFile /data/key/r1 --fork --port 28010 --dbpath /data/data/r1 --logpath=/data/log/r1.log --logappend