zoukankan      html  css  js  c++  java
  • 使用mongodump和mongorestore添加一个副本集从库

    当前环境:

    副本集如下:

    10.10.10.11:28000  (主库)
    10.10.10.12:28000  (从库)
    10.10.10.13:28000  (从库)

    当前需求:

          现在需要通过mongodump该副本集来给该副本集添加一个从库,新的实例所在机器为:

    10.10.10.22:28000  

    01,备份当前副本集:

    # mongodump是不会备份local和config这两个库,其余的库均可以被备份,这里进行全备份。

    # 在哪里执行mongodump命令,则没有任何要求,只需要与该副本集在同一个网段即可。比如,这里在

    # mongodump --host 10.10.10.13 --port 28000 --username xxx --password yyy --authenticationDatabase admin --oplog --out /home/work/backup

    02,将备份拷贝到目标机器10.10.10.22:

    # 这一步不是必须的,只要备份文件所在机器能够连接目标机器10.10.10.22即可:

    scp  -r  /home/work/backup  work@10.10.10.22:/home/work/tmp/  

    03,以单实例启动10.10.10.22:28000:

             更改mongodb的配置文件:注释掉安全配置与复制配置:

    # vi /home/work/mongodb/mongo_28000/etc/mongodb.conf
    #
    replication: # oplogSizeMB: 51200 # replSetName: test #security: # keyFile: /home/work/mongodb/mongo_28000/etc/test.keyfile # authorization: enabled

           启动该实例:

    # /home/work/mongodb/4.0.17/bin/mongod   -f  /home/work/mongodb/mongo_28000/etc/mongodb.conf

    04,mongorestore恢复数据:

    # /home/work/mongodb/4.0.17/bin/mongorestore   --host=10.10.10.22 --port=28008 --oplogReplay --dir=/home/work/tmp/backup/

    05,创建local库中的固定集合oplog.rs:

    # /home/work/mongodb/4.0.17/bin/mongo   --host=10.10.10.22 --port=28008 
    
    > use local
    
    > db.createCollection("oplog.rs",{"capped":true,"size":100000000})

    # 其中capped:true表示创建的集合是循环覆盖的,限制大小的;创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。size单位是KB

    06,恢复备份中oplog.rs到目标机器10.10.10.22:28000:

    # /home/work/mongodb/4.0.17/mongorestore --host=10.10.10.22 --port=28000 --db local --collection oplog.rs   /home/work/tmp/backup/oplog.bson

    07,恢复主节点replset.election集合的数据到目标机器10.10.10.22:28000:

    # mongo  --host 10.10.10.11 --port 28000 --username xxx --password  yyy  --authenticationDatabase admin
    
    > use local
    
    >db.replset.election.find()
    { "_id" : ObjectId("5dcfb9112670e3e338d03747"), "term" : NumberLong(
    7), "candidateIndex" : NumberLong(2) }
    ###########################################################################################################################################
    ###########################################################################################################################################

    # mongo
    --host 10.10.10.22 --port 28000 > use local >db.replset.election.save({ "_id" : ObjectId("5dcfb9112670e3e338d03747"), "term" : NumberLong(7), "candidateIndex" : NumberLong(2) })

    08,关闭目标机器10.10.10.22:28000实例,然后以副本集方式启动:

    杀掉mongod进程:

    #  ps aux|grep mongod
    
    # kill xxx

    去掉注释后:

    # vi /home/work/mongodb/mongo_28000/etc/mongodb.conf
    
    replication:
        oplogSizeMB: 51200
        replSetName: test
    security:
       keyFile: /home/work/mongodb/mongo_28000/etc/test.keyfile
       authorization: enabled

    启动:

    # /home/work/mongodb/4.0.17/bin/mongod   -f  /home/work/mongodb/mongo_28000/etc/mongodb.conf

    09,在主库添加该节点实例10.10.10.22:28000:

    # mongo  --host 10.10.10.11 --port 28000 --username xxx --password  yyy  --authenticationDatabase admin
    
    
    > use admin
    
    > rs.add("10.10.10.22:28000")
    
    > rs.status()
    
    > rs.printSlaveReplicationInfo()
  • 相关阅读:
    UVA 10600 ACM Contest and Blackout(次小生成树)
    UVA 10369
    UVA Live 6437 Power Plant 最小生成树
    UVA 1151 Buy or Build MST(最小生成树)
    UVA 1395 Slim Span 最小生成树
    POJ 1679 The Unique MST 次小生成树
    POJ 1789 Truck History 最小生成树
    POJ 1258 Agri-Net 最小生成树
    ubuntu 用法
    ubuntu 搭建ftp服务器,可以通过浏览器访问,filezilla上传文件等功能
  • 原文地址:https://www.cnblogs.com/igoodful/p/13937652.html
Copyright © 2011-2022 走看看