IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]关于mongodb的主从复制

    book_mmicky发表于 2014-05-13 15:21:47
    love 0
    1:特点
    A:可以一个master,多个slave。一个集群中有多少个slave节点,mongodb没有明确的限制,实际应用中不超过12个是最佳的。
    B:只有master可以写操作,slave不能写操作。
    C:master启动的时候带--master参数,slave启动的时候要带--slave 和 --source参数(--source参数可以通过直接修改local数据库来设定)。
    D:所有slave节点都是从master节点复制内容,目前没有从slave节点复制的机制,因为slave节点没有保存自己的oplog。
    E:如果slave节点从一个maser节点切换到另一个master节点,两个master节点有相同的集合的话,mongodb会尝试合并,但不能保证正确的合并;所以当一个slave要对应多个master的时候,最好在master节点上使用不同的命名空间。

    2:增加和删除slave节点
    A:增加slave节点,一种办法是启动的时候带--slave 和 --source参数;还有一种办法是启动时带--slave,然后在shell中使用local数据库,修改source集合。
    > use local
    > db.sources.insert({''host":"192.168.100.131:10000"})
    B:删除节点
    >db.sources.remove({''host":"192.168.100.131:10000"})

    3:选项
    --only
    在slave节点上指定只复制特点的某个数据库(默认是复制所有的数据库)
    --slavedelay
    用在slave节点上,延迟master节点的操作在slave节点上执行,这样用户无意中删除重要文档,可以通过这个延时差,从slave中进行恢复。
    --fastsync
    以master节点的数据库快照为基础启动slave节点。
    --autoresync
    如果slave节点与master节点不同步,则自动重新同步。
    --oplogSize
    是指master节点oplog的大小,单位是MB。


沪ICP备19023445号-2号
友情链接