zoukankan      html  css  js  c++  java
  • 我是实践派之mongo的一主多从

    mongo一主多从

    为什么要做一主多从?

    mongodb天生就是为了分布式而生的,为了保证数据读写分离和数据安全,把数据放在不同的机子上,可以减少主节点的读压力,而让从节点去承受读请求压力。

    主节点用于写,然后同步到从节点去。同样当主节点挂掉之后,由于还有从节点,可以进行自动选举,重新生成一个主节点。我之前使用的单个主从,一旦主节点挂了,从节点无法自动根据选举机制成为主节点,这样会造成一直等待的结果。根据实验和经验,奇数个实例或者说节点利用率更高,也更有容灾性。

    我在自己的项目中也开始决定这么做,不过由于我没有太多闲置的云服务器,所以我运行三个不同端口的实例来做这个一主二从。

    分别写三个配置文件:

    master:

    port=27017      
    
    fork=true      
    
    logpath=/usr/local/mongodb/logs/mongodb.log  
    
    logappend=true  
    
    dbpath=/usr/local/mongodb/data  
    
    maxConns=1024    
    
    master=true      
    
    oplogSize=2048
    

    slave1:

    port=27018  
    
    fork=true      
    
    logpath=/usr/local/mongodb/logs/slave1.log  
    
    logappend=true  
    
    dbpath=/usr/local/mongodb/data/slave1  
    
    maxConns=1024    
    
    slave=true      
    
    oplogSize=2048
    source=127.0.0.1:27017  
    
    autoresync=true  
    

    slave2:

    port=27019 
    
    fork=true      
    
    logpath=/usr/local/mongodb/logs/slave2.log  
    
    logappend=true  
    
    dbpath=/usr/local/mongodb/data/slave2 
    
    maxConns=1024    
    
    slave=true      
    
    oplogSize=2048
    source=127.0.0.1:27017  
    
    autoresync=true  
    

    然后连续起三个实例:

    mongod -f /usr/local/mongodb/conf/mongod.conf & mongod -f /usr/local/mongodb/conf/slave1.conf & mongod -f /usr/local/mongodb/conf/slave2.conf

    当然如果之前有数据,还需要导出历史数据,命令如下:

    mongodump -h dbhost -d dataname [-c collectioName] -o /out/path

    导出的bson的格式数据,非常的省内存。

    导入数据命令如下:

    mongorestore -h dbhost -d databaseName /out/path

    引入单个collection:

    mongorestore --collection people --db accounts dump/accounts/people.bson

    感谢mongo,让主从架构变得如此简单。

    更多关于mongorestore的命令参数和使用,见这个链接

  • 相关阅读:
    提单管理
    SAP Using Text Modules in Adobe Forms
    创建设备任务清单
    HR常用事务代码
    SAP 如何查看用户登录信息
    abap常用函数
    CK13物料价格评估的数据ALV显示
    常用事务代码
    计算物料制造成本估算,比较重要的表
    IT_sort用法实例
  • 原文地址:https://www.cnblogs.com/freephp/p/5475748.html
Copyright © 2011-2022 走看看