• mongodb 搭建主从服务器实战


    mongodb 主从配置比较简单,只需要在启动的时候添加参数。

    我们搭建一个模拟的环境,在一台centos上启动三个mongodb服务。监听端口分别为:
    27010、27011、27012。配置后的环境为:27010为主,27011、27012为从。

    下面开始实现上面的环境:

    1) 创建mongodb数据存放的文件夹

       mkdir -p /mongodata/test/db27010
       mkdir -p /mongodata/test/db27011
       mkdir -p /mongodata/test/db27012


    2)启动27010主

       在启动命令中加入 master,该mongo服务即可作为主。

    mongod --dbpath /mongodata/test/db27010 --port 27010 --master --logpath /mongodata/test/db27010/log.txt --fork


    3)启动27011、27012从

       添加参数 --slave 作为从,通过--source localhost:27010来指定主的位置。

    mongod --dbpath /mongodata/test/db27011 --port 27011 --slave --source localhost:27010 --logpath /mongodata/test/db27011/log.txt --fork
    
    mongod --dbpath /mongodata/test/db27012 --port 27012 --slave --source localhost:27010  --logpath /mongodata/test/db27012/log.txt --fork



    4)测试

    查看mongo服务

    ps -aux|grep mongo

    看到如下内容:

    root     21735  0.1  8.0 237012 20440 ?        Sl   20:09   0:00 mongod --dbpath /mongodata/test/db27010 --port 27010 --master --logpath /mongodata/test/db27010/log.txt --fork
    root     21784  0.9  7.9 129416 20164 ?        Sl   20:15   0:00 mongod --dbpath /mongodata/test/db27011 --port 27011 --slave --source localhost:27010 --logpath /mongodata/test/db27011/log.txt --fork
    root     21798  0.6  7.9 129384 20160 ?        Sl   20:15   0:00 mongod --dbpath /mongodata/test/db27012 --port 27012 --slave --source localhost:27010 --logpath /mongodata/test/db27012/log.txt --fork

    我们的三个mongodb服务都已经启动。

    添加测试数据:
    我们在主27010中创建user集合,并添加100个用户,然后再从中查看。

    mongo --port 27010
    use user;
    for(i=0;i<100;i++){ db.user.insert({"name":"ximu"+i}); } 

    查看主的90-94的数据:

    db.user.find().skip(90).limit(5);

    查看从的数据:

    mongo --port 27011
    show dbs;
    use user;
    db.user.find().skip(90).limit(5);
    
    mongo --port 27012
    show dbs;
    use user;
    db.user.find().skip(90).limit(5);

    5)主从的管理
    查看当前的从服务器:

    mongo --port 27010
    use local;
    db.slaves.find();

    输出如下内容:

    { "_id" : ObjectId("4fabb177fc376c0a2552bab4"), "host" : "127.0.0.1", "ns" : "local.oplog.$main", "syncedTo" : { "t" : 1336653678000, "i" : 1 } }
    { "_id" : ObjectId("4fabb18078bc627b617794d2"), "host" : "127.0.0.1", "ns" : "local.oplog.$main", "syncedTo" : { "t" : 1336653678000, "i" : 1 } }

    查看从的主:

    mongo --port 27011
    use local;
    db.sources.find();

    输出如下内容:

    { "_id" : ObjectId("4fabb18078bc627b617794d1"), "host" : "localhost:27010", "source" : "main", "syncedTo" : { "t" : 1336653868000, "i" : 1 }, "localLogTs" : { "t" : 0, "i" : 0 } }

    6)主从复制的选项

    –slavedelay 10      #延时复制 单位为秒
    –autoresync         #自动重新同步
    –only               #复制指定的数据库,默认复制所有的库
    –oplogSize          #主节点的oplog日志大小,单位为M

  • 相关阅读:
    Power Desginer系列00【转载】
    Power Desginer系列02【转载】
    【转】华为路由器、交换机设备模拟器
    【图片教程】大学易站注册发布教程!
    【转】使用BT3、BT4光盘系统、虚拟机vmware破解无线上网
    【技术贴】设置 Eclipse 智能代码提示,大幅度减少 alt+/ 使用频率,打每个字都出现代码提
    【技术贴】ASPNET登录失败。MSsql2005拒绝了对对象 ''xxx'' (数据库 ''xx
    【技术贴】火狐的悬停激活标签扩展插件下载。Tab Focus
    【技术贴】桌面图标变色了怎么办?桌面图标快捷方式失真、模糊的解决办法!
    【转】【CN五一装机版】GhostXP_SP3电脑公司通用版v19.2装机版NTFS
  • 原文地址:https://www.cnblogs.com/ximu/p/mongodbcopy.html
Copyright © 2020-2023  润新知