复制集的特点

 
数据一致性
  主是唯一的,但不是固定的  没有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. cogs 2109. [NOIP 2015] 运输计划 提高组Day2T3 树链剖分求LCA 二分答案 差分

    2109. [NOIP 2015] 运输计划 ★★★☆   输入文件:transport.in   输出文件:transport.out   简单对比时间限制:3 s   内存限制:256 MB [题 ...

  2. 第一篇:python中的判断语句和循环

    python与C语言的代码格式区别: 需注意:1.python中语句结束没有分号 “;” 2.python中严格要求缩进,且在判断和循环等语句中把括号用冒号代替. 3.经常使用tab键进行缩进. 4. ...

  3. 点分治 (等级排) codeforces 321C

    Now Fox Ciel becomes a commander of Tree Land. Tree Land, like its name said, has n cities connected ...

  4. 从网上下载DLL

    1,微软官网 2:https://www.zhaodll.com/ 3:http://www.dllzj.com/

  5. kafka模式对比

    Receiver是使用Kafka的高层次Consumer API来实现的.receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启 ...

  6. Oauth2的使用(第三方授权登录)

    例子: 京东商城 ,微博 ,用户三者之间的关系 第一方:用户 第二方:京东商城 第三方:微博 用户不希望在京东商城上注册,可以授权微博使用微博上的用户信息进行登录京东商城. 授权流程: 地址一:授权页 ...

  7. python接口自动化测试 - unittest框架suite、runner详细使用

    test suite 测试套件,理解成测试用例集 一系列的测试用例,或测试套件,理解成测试用例的集合和测试套件的集合 当运行测试套件时,则运行里面添加的所有测试用例 test runner 测试运行器 ...

  8. 微信小程序 客户端时间 与 服务端时间

    服务端时间 db.serverDate(); 在操作数据库,上传数据的时候可以使用服务端时间 wx.cloud.init();//初始化云 const db = wx.cloud.database() ...

  9. ThreadLocalRandom ---- 提升Random在大并发下的效率

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 随机数 随机数在科学研究与工程实际中有着极其重要的应用! ...

  10. RPC简单设计方案

    服务端: 启动后,等待客户端发来信息,收到信息后进行处理,返回结果. 客户端: 主线程中发起一次RPC,那么就将信息封装成一个任务,提交到线程池,阻塞等待结果. 线程池中工作线程执行任务,发送信息,等 ...