MongoDB副本集

1.下载mongodb安装包

直接上官网下载https://www.mongodb.com/ 

我选择企业版

单机版安装请看 http://blog.csdn.net/qq_23731295/article/details/79470185

2.搭建复制集

复制集我使用3台机器,开启多台虚拟机机器卡,也不方便,所以我在一台机器上搭建复制集

1.解压mongodb到/usr/local目录下

tar -zxvf mongodb-linux-x86_64-enterprise-rhel70-3.6.2.tgz  -C    /usr/local

创建link

ln -s /usr/local/mongodb-linux-x86_64-enterprise-rhel70-3.6.2/   mongodb

2.进入mongodb安装目录  cd  /usr/local/mongodb

mkdir replset

创建数据目录

mkdir replset/data01

mkdir replset/data02

mkdir replset/data03

创建日志目录

mkdir replset/logs01

mkdir replset/logs02

mkdir replset/logs03

3.编写配置文件

进入复制集目录 cd replset

vim mongod01.conf 将下面内容复制其中

#/** 加入相关配置 **/
#端口号
port = 10001
#绑定ip
bind_ip=127.0.0.1,10.35.90.40
#数据目录
dbpath = /usr/local/mongodb/replset/data01
#日志目录
logpath = /usr/local/mongodb/replset/logs01/mongodb.log
#设置后台运行
fork = true
#日志输出方式
logappend = true
#开启认证
auth = false
#秘钥
#keyFile= /usr/local/mongodb/mongodb-linux-x86_64-enterprise-rhel70-3.6.2/data/scf/sc.dat
#复制集名称

replSet= xfq

auth是单机版认证,复制集不需要故设置为false, 我们使用keyFile做集群验证,先屏蔽,复制集完成之后再开启验证

replSet= xfq 复制集的名称,3个配置文件必须一样

配置文件编写完成之后

cp  mongod01.conf  mongod02.conf

cp  mongod01.conf  mongod03.conf

编辑文件 mongod02.conf  mongod03.conf

将端口号分别改为10002 10003

数据目录 日志目录分别改为02,03的目录

3个配置文件如下





4.启动3台mongodb

cd   /usr/local/mongodb

bin/mongod -f  replset/mongod01.conf

bin/mongod -f  replset/mongod02.conf

bin/mongod -f  replset/mongod03.conf

5.初始化复制集

登录任意一台shell

bin/mongo --host 127.0.0.1:10001

执行命令

rs.initiate({"_id":"xfq",members:[{"_id":0,host:"10.35.90.40:10001"}]});

"_id":xfq 必须为复制集的名称


执行rs.status()查看复制集的状态


通过信息可以看到只有primary没有slave和arbiter(仲裁节点)

创建超级用户管理集群

use admin

db.createUser({user:"admin",pwd:"123",roles:["root"]})

增加slave

rs.add("10.35.90.40:10002");


增加arbiter

rs.addArb("10.35.90.40:10003");


通过rs.status() 查看复制集的状态,复制集搭建完成


3.开启集群验证

1.创建keyFile

mkdir /usr/local/mongodb/replset/scf

openssl rand -base64 256 > /usr/local/mongodb/replset/scf/sc.dat

2.关闭集群 

先关闭arbiter,再关闭主从 ,db.shutdownServer() 或者 kill -15 端口号(不要使用-9)


3.将秘钥放开重启复制集,管理员用户在初始化复制集我已经创建了

keyFile= /usr/local/mongodb/replset/scf/sc.dat

重启复制集 先启动arbiter,再启动主从,验证就开启了,操作数据库将需要认证。

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值