美文网首页
mongodb复制技术操作手册(一)

mongodb复制技术操作手册(一)

作者: JohnYuCN | 来源:发表于2020-01-18 16:48 被阅读0次

    实验一:完成以下配置:

    经典的一主二副

    1. 指定数据区:

    ~ $ mkdir modata
    ~ $ cd modata/
    ~/modata $ mkdir primary
    ~/modata $ mkdir secondary1
    ~/modata $ mkdir secondary2
    

    2. 启动primary

    (1) 数据集方式启动,并指定数据集名称为:myrs

    mongod --port 27017 --dbpath primary --replSet myrs
    

    (2) 客户端连接,并初始化数据集:

    mongo --port 27017
    

    rs.initiate()
    

    此时完成复制集的初始化工作,默认第一个进程为myrs:SECONDARY>
    按回车,会重新检测,从而变为myrs:PRIMARY>

    3. 在客户端中, 添加secondary(必须在secondary 的进程启动之前添加)

    myrs:PRIMARY> rs.add({host:"localhost:27018",votes:0,priority:0});
    myrs:PRIMARY> rs.add({host:"localhost:27019",votes:0,priority:0});
    

    补充:使用rs.initiate(),更高效的一种方法(可以省略【步骤2】的rs.initiate()):

    rs.initiate( {
       _id : "rs0",
       members: [
          { _id: 0, host: "localhost:27017" },
          { _id: 1, host: "localhost:27018"},
          { _id: 2, host: "localhost:27019" }
       ]
    })
    

    4. 启动另外两个secondary

    mongod --port 27018 --dbpath secondary1 --replSet myrs
    mongod --port 27019 --dbpath secondary2 --replSet myrs
    

    5. 查看:

    可以在复制集中任意一个客户端中:

    rs.status();
    

    6. 测试:

    在primary进程中,使用客户端完成:

    myrs:PRIMARY> use demo01
    myrs:PRIMARY> db.customers.insert({name:'johnyu'},{writeConcern:{w:3,wtimeout:5000}})
    
    

    如果显示为以下内容,则代表成功!!!

    WriteResult({ "nInserted" : 1 })
    

    相关文章

      网友评论

          本文标题:mongodb复制技术操作手册(一)

          本文链接:https://www.haomeiwen.com/subject/aegkzctx.html