主从复制是mongodb最经常使用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等.
最基本的设置方式就是创建一个主节点和一个或多个从节点,每一个从节点要知道主节点的地址.mongodb
mongodb主从配置中的知识点:数据库
1.主节点的配置主要是经过在启动mongodb时带上--master这个参数服务器
2.从节点主要是经过参数--slave和--source 这两个参数 --source这个参数的值是 ip:端口架构
3.带有auth验证的须要生成keyfile带上keyfile参数app
1,主服务器配置mongo.confspa
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文件,code
随机生成keyFile或者手动写入,key的长度必须是6-1024的base64字符ip
openssl rand -base64 1024 > mongodb.key chmod 600 mongodb.key
启动mongo服务,ssl
./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/