zoukankan      html  css  js  c++  java
  • MongoDB 复本集搭建

    复制集的特点

     
    数据一致性
      主是唯一的,但不是固定的  没有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()
    
    
  • 相关阅读:
    4-6 R语言函数 排序
    微信公众平台开发接口之天气预报字符串截取
    微信公众平台开发接口之百度翻译
    手机模板 好
    模板1
    手机模板2
    手机模板1
    淘宝素材装修
    如何批量删除SQL注释?
    (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】
  • 原文地址:https://www.cnblogs.com/lmx1002/p/8602781.html
Copyright © 2011-2022 走看看