码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB 3.0副本集搭建

时间:2018-03-06 20:13:55      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:mongodb   replication   副本集   集群   主从   

环境配置

架构:一主两从(三台虚拟机)

系统版本:CentOS Linux release 7.4.1708 (Core)

MongoDB版本:3.0.15

MongoDB安装


以下操作在三台虚拟机都进行


下载yum源配置

wget https://repo.mongodb.org/yum/redhat/mongodb-org-3.0.repo 
mv mongodb-org-3.0.repo  /etc/yum.repos.d/

安装mongodb

yum -y install mongodb-org

修改mongodb配置文件

# 修改监听地址为0.0.0.0
net:
  port: 27017
  bindIp: 0.0.0.0
# 修改副本集配置,此项为之后配置副本集所需要的配置
replication:
  oplogSizeMB: 20480
  replSetName: gogen

修改内核配置

# 最好加入开机自启动配置文件
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

修改文件描述符/etc/security/limits.conf

# 在配置文件最后加入以后内容
mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000

启动服务

chkconfig mongod on
service mongod start

副本集部署


任何一台服务器上面执行下面命令登录至monogdb

mongo

切换至admin库

> use admin

定义一个config变量

> config={_id:"gogen",members:[{_id:0,host:"192.168.6.91:27017"},{_id:1,host:"192.168.6.92:27017"},{_id:2,host:"192.168.6.93:27017"}]}

初始化配置,返回 { "ok" : 1 } 则创建成功

> rs.initiate(config)
{ "ok" : 1 }
gogen:OTHER> 
gogen:PRIMARY>

副本集权重配置


任何一台服务器上面登录至monogdb再执行下面的命令,首先定义一个变量

gogen:PRIMARY> cfg=rs.config()

更改第一个主机的权重为100

gogen:PRIMARY> cfg.members[0].priority=100

更改第二个主机的权重为90

gogen:PRIMARY> cfg.members[1].priority=90

更改第三个主机的权重为1

gogen:PRIMARY> cfg.members[2].priority=1

刷新配置

gogen:PRIMARY> rs.reconfig(cfg)

副本集基本命令使用

查看副本集状态

gogen:PRIMARY> rs.status()

查看副本集配置

gogen:PRIMARY> rs.config()

测试

  1. 在主上面写入一些数据,查看从是否可以从主同步

  2. 测试主宕机(直接关机,或者停止服务),是否可以在另外两台从里同重新选举出新主

  3. 在新主上面再写入数据,查看另外一个从是否可以同步

  4. 恢复宕机的旧主服务器,查看新写入的数据是否可以同步到旧主,另外查看是否会将主夺取回来


MongoDB 3.0副本集搭建

标签:mongodb   replication   副本集   集群   主从   

原文地址:http://blog.51cto.com/270142877/2083576

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!