zoukankan      html  css  js  c++  java
  • MongoDB主从复制,主主复制

    MongoDB主从复制,是不需要像mysql那样从数据库事先要完整的主数据快照
    背景介绍:mongodb支持一主一从或多从复制
    1)    master节点: 

    mongod --dbpath=/usr/MongoDB/data/ --logpath=/usr/mongodb/log/mongodb.log  --master  

    ##可选--oplogSize 400  --directoryperd   主节点oplog的大小(单位是MB)

    2)    slave 节点: 

    mongod  --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log --slave --source  masterIP:27017 --autoresync

    ###autoresync自动同步不一致数据

    4)    参数:

    a)—only
        在从节点上指定只复制特定的某个数据库(默认复制所有的数据库)
            b)—slavedelay
                用在从节点上,当应用主节点的操作时增加延时(单位是秒).
            c)—fastsync
                以主节点的数据快照为基础启动从节点。如果数据目录一开始是主节点的数据快照,从节点用这个选项启动要比做完整同步快很多。
            d)—autoresync
                如果从节点与主节点不同步了,则自动重新同步(代价比较大)
               

    5)    查看主从复制状态

    use local

    rs.isMaster() 
    db.printReplicationInfo()
    6)    Master服务器Local库保存了slave信息
    7)    更改oplog大小。默认情况下.oplog大小占服务器剩余空间的5%,为了安全性应该尽量设置较大。
    方法:1)停掉mongodb服务
            2)删除mognodb本地数据库(local)
            3)启动参数添加  --oplogSize 200   (单位:MB)
    4)重启mongodb服务()
    8)   动态 增加节点或删除节点
    在从节点
    use local
    db.sources.insert({“host”:”IP:port”})
    db.sources.remove({“host”:”IP:port”})

    Mongodb主主复制
    主主设置
    192.168.129.47启动参数:
    rm /usr/mongodb/log/mongodb.log
    /usr/mongodb/bin/mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log  --master --slave --source 192.168.129.48:27017 


    192.168.129.48启动参数:
    rm /usr/mongodb/log/mongodb.log
    /usr/mongodb/bin/mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/log/mongodb.log  --master --slave --source 192.168.129.47:27017

    以上两种方案,MongoDB 的最新版本(1.6以后)已不再推荐此方案。推荐Replica Sets 复制集方案

  • 相关阅读:
    Hibernate 查询,返回结果设置到DTO
    sqlserver计算时间差DATEDIFF 函数
    SQL语句 不足位数补0
    Redis详细用法
    windows下安装Redis并部署成服务
    Redis命令
    ajax请求在参数中添加时间戳
    JS获取子节点、父节点和兄弟节点的方法实例总结
    js关闭当前页面清除session
    Java面试题一览
  • 原文地址:https://www.cnblogs.com/wangmo/p/7255720.html
Copyright © 2011-2022 走看看