MongoDB3.2.6 副本集 和主从
Posted Hey!Linux.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB3.2.6 副本集 和主从相关的知识,希望对你有一定的参考价值。
yum实例
vim /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2] name=Mongodb baseurl=http://repo.mongodb.org/yum/redhat/6Server/mongodb-org/3.2/x86_64/ gpgcheck=0 enabled=1
然后yum -y install mongodb
便捷启动脚本
#!/bin/bash instance=$1 action=$2 case "$action" in ‘start‘) mongod -f /etc/$instance.cnf ;; ‘stop‘) mongod -f /etc/$instance.cnf --shutdown ;; ‘restart‘) mongod -f /etc/$instance.cnf --shutdown mongod -f /etc/$instance.cnf ;; esac #当然配置文件要放在/etc/下面咯 by:V
配置文件实例
dbpath=/data/mongodata2 fork=true port=27019 logpath=/data/log/mongolog2/mongodb1.log auth=true keyFile = /data/mongo22.key replSet = qby
其中id 要和 replSet 中设置的一样。而 config_repl 这个名字 可以随意命名,相当于 副本集 的会议室。而members 相当于会议室里的成员。
> config_repl={_id:‘gechongrepl‘,members:[ ... {_id:0,host:‘192.168.91.128:27017‘,priority:10}, ... {_id:1,host:‘192.168.91.129:27017‘,priority:9}, ... {_id:2,host:‘192.168.91.130:27017‘,priority:9}]}
之后的添加和删除节点可以用以下2个步骤来实现。
#比如会议的名称还是和上面一样是config_repl > config_repl={_id:‘gechongrepl‘,members:[
... {_id:0,host:‘192.168.91.128:27017‘,priority:10},
... {_id:1,host:‘192.168.91.129:27017‘,priority:9},]}
>rs.reconfig(config_repl) #相当于重新加载了配置,这里你可以删除节点或者增加节点。
>rs.status() #然后查看状态
还有一种用rs.add("127.0.0.1:27020") 或者 rs.remove() 来进行。具体使用哪一种。自己区分。
============接下来 看一下主从。3.X 后面的主从有安全策略。当然要开启用户验证,不然有什么意义呢。 所以必须要开key 选项 这里为主的配置文件
Master
dbpath=/data/mongodata fork=true port=27017 logpath=/data/log/mongolog/mongodb1.log auth=true master=true keyFile = /data/mongo.key
Slave
auth=true dbpath=/data/mongodata logpath=/data/log/mongolog/mongo1.log fork=true port=27017 slave=true #设置为slave source=172.16.38.178:27017 #指定Master在哪 keyFile = /data/mongo.key
当然也要有一个用户验证。有人会疑惑用哪个用户来进行数据验证和同步呢。Master会将操作记录在 local。oplog里面,然后从服务器定期去获取oplog内容。在slave上执行。
以上是关于MongoDB3.2.6 副本集 和主从的主要内容,如果未能解决你的问题,请参考以下文章