zoukankan      html  css  js  c++  java
  • mongodb 主从

    mongodb 主从

    因为条件限制我们把主从放在一台服务器上面

    相关参数

    在启动从的时候可以增加以下参数

    --autoresync 当发现从服务器的数据不是最新时,开始从主服务器请求同步数据
    --slavedelay 同步延迟,单位:秒
    --only 复制指定的数据库,默认复制所有的库
    -oplogSize 主节点的oplog日志大小,单位为M,建议设大点(更改oplog大小时,只需停主库,删除local.,然后加--oplogSize= 重新启动即可,*代表大小)

    配置

    为了方便管理我们使用加载配置文件的启动方式,以下是配置文件。

    dbpath=/home/xiaohe/mongodb-27017/db
    logpath=/home/xiaohe/mongodb-27017/logs/mongodb.log
    port=27017
    nohttpinterface=true
    master=true
    oplogSize=4096
    #auth=true
    

    dbpath=/home/xiaohe/mongodb-27018/db
    logpath=/home/xiaohe/mongodb-27018/logs/mongodb.log
    port=27018
    nohttpinterface=true
    slave=true
    source=127.0.0.1:27017
    #auth=true
    

    启动

    /home/xiaohe/mongodb-27017/bin/mongod --config /home/xiaohe/mongodb-27017/conf/mongodb.conf
    /home/xiaohe/mongodb-27018/bin/mongod --config /home/xiaohe/mongodb-27018/conf/mongodb.conf
    

    测试同步

    登录主
    /home/xiaohe/mongodb-27017/bin/mongo 127.0.0.1:27017

    use xiaohe

    db.xiaohe.insert({"name":"zxc"})

    show dbs 你会看到新创建的库 xiaohe

    登录从
    /home/xiaohe/mongodb-27018/bin/mongo 127.0.0.1:27018
    show dbs 查看 是否可以看到新创建的库 xiaohe

    接着查看数据
    db.xiaohe.find()

    如果可以看到刚才插入的数据,说明同步正常

    问题查看

    查看同步

    db.printReplicationInfo()

    附录一、Slave 顶替 Master

    如果主服务器 10.0.0.11 宕机了,
    此时需要用 10.0.0.12 机器来顶替 master 服务,

    步骤如下:
    停止 10.0.0.12 进程(mongod)
    kill -2 ps -ef|grep mongod|grep -v grep|awk '{print $2}'
    删除 10.0.0.12 数据目录中的 local.*
    rm -rf /elain/data/mongodb/db/local.*
    以--master 模式启动 10.0.0.12
    /elain/apps/mongodb/bin/mongod --fork --master --oplogSize=4096 --port 27001 --dbpath /elain/data/mongodb/db --logpath /elain/logs/mongodb/mongodb.log

    附录二、切换 Master/Slave 角色

    切换主库10.0.0.11和从库10.0.0.12的角色

    步骤如下:(命令略)

    用 fsync 命令暂停 主库 上的写操作,
    关闭 从库 上的服务
    清空 从库 上的 local.文件
    用-master 选项重启 从库 服务
    在 从库 上执行一次写操作,初始化 oplog,获得一个同步起始点
    关闭 从库 服务,此时 从库 已经有了新的 local.
    文件
    关闭 主库 服务,并且用 从库 上新的 local.文件来代替 主库 上的 local.文件(建议先压缩再COPY)
    用-master 选项重启 从库 服务
    在启动slave的选项上加一个-fastsync 选项来重启 主库 服务

  • 相关阅读:
    Educational Codeforces Round 83 --- F. AND Segments
    Educational Codeforces Round 83 --- G. Autocompletion
    SEERC 2019 A.Max or Min
    2019-2020 ICPC Southwestern European Regional Programming Contest(Gym 102501)
    Educational Codeforces Round 78 --- F. Cards
    今天我学习了一门全新的语言
    codeforces 1323D 题解(数学)
    Educational Codeforces Round 80 (Div. 2) 题解 1288A 1288B 1288C 1288D 1288E
    Educational Codeforces Round 81 (Div. 2) 题解 1295A 1295B 1295C 1295D 1295E 1295F
    Codeforces Round #617 (Div. 3) 题解 1296C 1296D 1296E 1296F
  • 原文地址:https://www.cnblogs.com/colder219/p/6394653.html
Copyright © 2011-2022 走看看