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 副本集 和主从的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb副本集和分片的概念

MongoDB的主从复制和副本集

MongoDB主从复制以及副本集的配置和使用

MongoDb 4.2.7 配置复制(副本集replSet)实现主从同步(Windows)

MongoDB之主从复制和副本集

MongoDB主从复制以及副本集的配置和使用