• Mongodb分布式集群搭建


    https://www.cnblogs.com/littleatp/p/8563273.html

    mongodb配置主从模式

    在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了

    NOSQL有这些优势:

    大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统mysql单表存储量级限制。

    高扩展性,Nosql去掉了关系数据库的关系型特性,很容易横向扩展,摆脱了以往老是纵向扩展的诟病。

    高性能,Nosql通过简单的key-value方式获取数据,非常快速。还有NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多。

    灵活的数据模型,NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。

    高可用,NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如mongodb通过mongos、mongo分片就可以快速配置出高可用配置。

    主从模式(官方不建议使用)。使用mysql数据库时大家广泛用到,采用双机备份后主节点挂掉了后从节点可以接替主机继续服务。所以这种模式比单节点的高可用性要好很多

    mongoDB副本集的架构图

    由图可以看到客户端连接到整个副本集,不关心具体哪一台机器是否挂掉。主服务器负责整个副本集的读写,副本集定期同步数据备份,一但主节点挂掉,副本节点就会选举一个新的主服务器,这一切对于应用服务器不需要关心。我们看一下主服务器挂掉后的架构:

    官方推荐的副本集机器数量为至少3个,那我们也按照这个数量配置测试。

    1、准备两台机器 192.168.1.136、192.168.1.137、192.168.1.138。 192.168.1.136 当作副本集主节点,192.168.1.137、192.168.1.138作为副本集副本节点

    2、分别在每台机器上建立mongodb副本集测试文件夹

    #存放整个mongodb文件

    mkdir -p /data/mongodbtest/replset
     
    #存放mongodb数据文件
    mkdir -p /data/mongodbtest/replset/data
     
    #进入mongodb文件夹
    cd  /data/mongodbtest
    3、下载mongodb的安装程序包
    wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
    注意linux生产环境不能安装32位的mongodb,因为32位受限于操作系统最大2G的文件限制。
    #解压下载的压缩包 
    tar xvzf mongodb-linux-x86_64-2.4.8.tgz
    4、分别在每台机器上启动mongodb
    /data/mongodbtest/mongodb-linux-x86_64-2.4.8/bin/mongod  --dbpath /data/mongodbtest/replset/data   --replSet repset
    可以看到控制台上显示副本集还没有配置初始化信息。
    5、初始化副本集
    在三台机器上任意一台机器登陆mongodb
    /data/mongodbtest/mongodb-linux-x86_64-2.4.8/bin/mongo
     
    #使用admin数据库
    use admin
    #定义副本集配置变量,这里的 _id:”repset” 和上面命令参数“ –replSet repset” 要保持一样。
    config = { _id:"repset", members:[
    ... {_id:0,host:"192.168.1.136:27017"},
    ... {_id:1,host:"192.168.1.137:27017"},
    ... {_id:2,host:"192.168.1.138:27017"}]
    ... }
    {
            "_id" : "repset",
            "members" : [
                    {
                            "_id" : 0,
                            "host" : "192.168.1.136:27017"
                    },
                    {
                            "_id" : 1,
                            "host" : "192.168.1.137:27017"
                    },
                    {
                            "_id" : 2,
                            "host" : "192.168.1.138:27017"
                    }
            ]
    }
    #初始化副本集配置
    rs.initiate(config);
    6、测试副本集数据复制功能
     
     
    ******未经允许,禁止转载 否则追究法律责任******
  • 相关阅读:
    ZJOI2019爆蛋记
    NOIp2018退役记
    拓展中国剩余定理(exCRT)摘要
    FFT(快速傅里叶变换)摘要
    主席树摘要
    LCT摘要
    替罪羊树摘要
    FHQ Treap摘要
    逻辑回归1-逻辑回归原理详解
    NLP自然语言处理原理及名词介绍
  • 原文地址:https://www.cnblogs.com/demo-tt/p/10996562.html
Copyright © 2020-2023  润新知