复制集的特点

 
数据一致性
  主是唯一的,但不是固定的  没有MySQL那样的双主结构
  大多数原则,集群存活节点小于等于二分之一时集群不可写,只可读。
  是否能选举出新的主节点,是由当前复制集成员存活量来决定的。
     
  从库无法写入 MySQL从库的readonly对具有super权限的用户无效
   
   自动容灾
 
传统主从 ---> only 选项来限制复制的数据
复制集 ---> 不支持只复制指定的库
 
3.0 版本前复制集参与选举的数据节点只能有7个
3.0 以上支持50个
 
# 创建配置文件
# 28001
cat >mongod28001.conf << EOF
port=28001 # 端口,默认端口27017
bind_ip=192.168.11.166 # 监听端口,默认允许所有
logpath=/usr/local/mongodb/log/28001.log # 日志
logappend=true  # 以追加的方式写入数据
dbpath=/usr/local/mongodb/data/28001 # 存放数据目录,默认/data/db/
pidfilepath=/var/run/mongd28001.pid # pid 文件
fork=true # 后台启动
#auth=true # 开启验证
oplogSize=102400 # 默认oplog 大小会使用可用磁盘空间的5%
replSet=hehe #复制集名称
EOF # 28002
cat >mongod28002.conf << EOF
port=28002
bind_ip=192.168.11.166
logpath=/usr/local/mongodb/log/28002.log
logappend=true
dbpath=/usr/local/mongodb/data/28002
pidfilepath=/var/run/mongd28002.pid
fork=true
#auth=true
oplogSize=102400
replSet=hehe #复制集名称
EOF # 28003
cat >mongod28003.conf << EOF
port=28003
bind_ip=192.168.11.166
logpath=/usr/local/mongodb/log/28003.log
logappend=true
dbpath=/usr/local/mongodb/data/28003
pidfilepath=/var/run/mongd28003.pid
fork=true
#auth=true
oplogSize=102400
replSet=hehe #复制集名称
EOF
 
启动实例:
mongod -f /usr/local/mongodb/conf/mongod28001.conf
mongod -f /usr/local/mongodb/conf/mongod28002.conf
mongod -f /usr/local/mongodb/conf/mongod28003.conf
 
# 初始化
mongo 192.168.11.166:28001/admin
# 定义配置文件,存放路径use local db.system.replset.find()
config = {
_id:"hehe", # 应该与配置文件中的replSet 一致
members:[
# priority优先级,此节点健康时候,优先为主节点
{_id:0,host:"192.168.11.166:28001",priority:5},
{_id:1,host:"192.168.11.166:28002"},
{_id:2,host:"192.168.11.166:28003"}
]
}
 
# 更改config,更改192.168.11.166:28003为投票节点
config.members[2] = {"_id":2,"host":"192.168.11.166:28003","arbiterOnly":true} # 执行初始化命令
rs.initiate(config) # 重新初始化,更改config时候执行,使用rs.reconfig() 会短暂断开
rs.reconfig(config) # 查看复制集状态
rs.status() # 从节点
rs.slaveOk(1) 或者rs.slaveOk(true) # 投票节点
# local 库 大小,mongodb 默认存放的物理文件local.*
# 默认为local.0 为64MB,命名空间为16MB ,
# 默认投票节点的local库大小为79-80MB # 查看复制集状态查看
db.printSlaveReplicationInfo()
rs.printSlaveReplicationInfo() # 查看状态详情
db.serverStatus().repl() # 查看oplog状态
rs.printReplicationInfo()

MongoDB 复本集搭建的更多相关文章

  1. MongoDB副本集搭建及备份恢复

    一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...

  2. mongodb副本集搭建过程中的问题和解决技巧

    在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...

  3. windows版本 MongoDB副本集搭建及开启身份验证

    ------------恢复内容开始------------ ------------恢复内容开始------------ MongoDB副本集搭建 我搭建的是一个主节点,两个副节点 构建目录结构如下 ...

  4. MongoDB 副本集搭建

    搭建mongodb副本集 [root@ mongodb]# cd /u02 [root@ u02]# mkdir -p mongodb/data_2777 [root@ u02]# mkdir -p ...

  5. MongoDB复制集搭建(3.4.17版)

    ==版本== mongodb-linux-x86_64-rhel70-3.4.17.tgz ==准备== 3个节点,我这里的IP及hostname分别是: 10.11.2.52 dscn49 10.1 ...

  6. Mongodb副本集搭建经验

    一.环境配置经验 1.一般安装的副本集的时候,主实例可以有数据库和用户:从实例不能.仲裁机不能有任何数据库包括用户 2.搭建副本集的时候Host使用外网IP,否则使用Mongodb VUE 1.6.9 ...

  7. mongodb分片集搭建

    拓扑图如下: 从图中可以看到有四个组件:mongos.config server.shard.replica set. mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要 ...

  8. MongoDB 副本集搭建 & 副本集扩容

    副本集的搭建 创建多实例目录 [root@redis03 ~]# mkdir /server/mongodb/2801{7,8,9}/{conf,logs,pid,data} -p 编辑多实例配置文件 ...

  9. mongodb复制集搭建

    注:mongodb当前版本是3.4.3 1.准备三个虚拟机做服务器 192.168.168.129:27017 192.168.168.130:27017 192.168.168.131:27017 ...

随机推荐

  1. Spring Boot2 系列教程(二十) | SpringBoot 是如何实现日志的?

    微信公众号:一个优秀的废人.如有问题,请后台留言,反正我也不会听. 前言 休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下. 门面模式 说到日志框架不得不说门面模式.门面 ...

  2. 20190925Java课堂记录(一)

    判断字符串是否回文 设计思想 利用递归,每次返回长度减二的字符串,最终返回结果 源程序代码 import java.util.Scanner; public class palindrome { st ...

  3. PythonI/O进阶学习笔记_11.python的多进程

    content: 1. 为什么要多进程编程?和多线程有什么区别? 2. python 多进程编程 3. 进程间通信 =======================================   ...

  4. 【javaWeb】sendRedirect和forward原理及区别总结

    一.原理.  1. Forward        该图的交互过程如下: ① 浏览器访问Servlet1. ② Servlet1想让Servlet2对客户端的请求进行响应,于是调用forward()方法 ...

  5. 【Docker】 windows10 docker 使用

    原文地址:https://www.aliyun.com/jiaocheng/872144.html 摘要:docker之前在Windows和MacOS上的版本都是通过Linux虚拟机的形式,而现在Do ...

  6. python+win32--com实现excel自动化

    import win32com  APP_TYPE = 'Excel.Application'  xlBlack,xlRed,xlGray,xlBlue = 1,3,15,41 xlBreakFull ...

  7. hge引擎使用技巧

    图片周围最好留出一像素,即上下左右都多出一像素.然后使用pngopt.exe处理一下.这样可以减少图片拉伸.旋转时边界模糊的情况 图片宽高最好是 2的N次方

  8. python应用airtest库的环境搭建

    参考https://blog.csdn.net/ywyxb/article/details/64126927 注意:无论是在线还是离线安装,最好在管理员权限下执行命令 1.安装Python36(32位 ...

  9. Solution: 题解 CF1196E Connected Component on a Chessboard

    感觉这题还可以 因为总空间比输入数量 不知高到哪里去了 ,所以完全不需要考虑放不下的问题 从贪心的角度考虑,如果要使相差数量巨大的\(b\)和\(w\)能够成功放下来,应该使这些方块尽量分散(似乎有点 ...

  10. Spring5.x源码分析 | 从踩坑到放弃之环境搭建

    Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...