[MongDB] 主从架构--官方极力不推荐

时间:2023-03-09 15:16:19
[MongDB] 主从架构--官方极力不推荐

一、缘由:

  看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下。但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐

Master-Slave模式,这是要标新立异呀。不过,也许大家都会觉得Replica Set的Primary故障自动转移、分片,用起来更爽一点,所以抛弃就

抛弃吧,但是目前还是要了解的。

  Mongodb Master-Slave模式,可支持读写分离;也可读写都在Master,Slave做备份。一旦Master挂掉,就要手动干预将从切换为主。

  实践版本:3.2。

二、解决办法:

1、安装Mongdb并配置好两个实例:

我这里将Mongodb二进制文件放在/usr/local/mongodb-3.2.9目录,且在这个目录下增加两个配置文件mongod_27017.conf、mongod_27018.conf;

具体用二进制包部署过程看这里:http://www.cnblogs.com/langdashu/p/6022225.html

2、主从实例启动:

主:sudo su -l mongod -c "numactl --interleave=all mongod -f /usr/local/mongodb-3.2.9/mongod_27017.conf --master --oplogSize 20480 &"

从:sudo su -l mongod -c "numactl --interleave=all mongod -f /usr/local/mongodb-3.2.9/mongod_27018.conf --slave --source 127.0.0.1:27017 --autoresync &"

具体参数解释:

sudo su -l mongod -c cmd

numactl --interleave=all

--oplogSize 20480

--source 127.0.0.1:27017

--autoresync

主库:会保存操作日志到local.oplog.$main collection中。

从库:会将主库的数据源 存到local.source collection中。

3、确认主从状态:

Master:rs.printReplicationInfo()

Slave:rs.printSlaveReplicationInfo()

db.serverStatus( { repl: 1 } )

4、开启安全认证:(待补充完全)

Master && Slave 的配置文件都要加上:

security:

keyFile = /usr/local/mongodb-3.2.9/keyfile

然后更改权限:

sudo chown mongod.mongod keyfile

sudo chmond 400 keyfile

之后按照主从CMD重启mongodb。

keyfile文件的字符串可以这样生成:openssl rand -base64 741