2019独角兽企业重金招聘Python工程师标准>>>
一 简介说明
主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等.
最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址.
mongodb主从配置中的知识点:
1.主节点的配置主要是通过在启动mongodb时带上--master这个参数
2.从节点主要是通过参数--slave和--source 这两个参数 --source这个参数的值是 ip:端口
3.带有auth验证的需要生成keyfile带上keyfile参数
二 配置实现
1,主服务器配置mongo.conf
dbpath=/usr/tools/mongodb/data
logpath=/usr/tools/mongodb/logs/mongo.log
port=27017
#bind_ip = 127.0.0.1
auth=true
fork=true
logappend=true
keyFile=/usr/tools/mongodb/keyfile
master=true
注意keyfile路径,keyfile主要用来验证,首先需要先生产keyfile文件,
随机生成keyFile或者手动写入,key的长度必须是6-1024的base64字符
openssl rand -base64 1024 > mongodb.key
chmod 600 mongodb.key
启动mongo服务,
./mongod -f mongo.conf
2,从服务配置
dbpath=/usr/tools/mongodb1/data
logpath=/usr/tools/mongodb1/log/mongo.log
logappend=true
source=192.168.1.2:27017
fork=true
port=27017
auth=true
keyfile=/usr/tools/mongodb1/keyfile
slave=true
autoresync=true
把主服务mongodb生成的keyfile复制到从服务器上
启动从服务
./mongd -f mongo.conf
3.查看主从的状态
db.printReplicationInfo():查看主节点的状态
db.printSlaveReplicationInfo():查看从节点的状态
tips:主从的架构所要面临的问题:
1.如果读写都是对主节点的操作,那主节点无疑是压力过大.
2.如果主节点挂掉了,那这个架构就失效了
3.如果多个从节点从主节点复制数据,主节点压力会不会过大.
所以mongodb官方已不推荐使用这种方式, 而是使用副本集架构
更多参考引用 :https://docs.mongodb.com/manual/replication/