zoukankan      html  css  js  c++  java
  • mongodb分片(七)

    1.插入负载技术分片架构图


    2.片键的概念和用处
    看下面这个普通的集合和分片后的结果


    3.什么时候用到分片呢?
    3.1机器的磁盘空间不足
    3.2单个的mongoDB服务器已经不能满足大量的插入操作
    3.3想通过把大数据放到内存中来提高性能
    4.分片步骤
    4.1创建一个配置服务器
    4.2创建路由服务器,并且连接配置服务器
    路由器是调用mongos命令
    4.3添加2个分片数据库
    8081和8082
    4.5利用路由为集群添加分片(允许本地访问)
    db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
    db.runCommand({addshard:"127.0.0.1:8081",allowLocal:true})
    切记之前不能使用任何数据库语句


    4.6打开数据分片功能,为数据库foobar打开分片功能
    db.runCommand({"enablesharding":"foobar"})


    4.7对集合进行分片
    db.runCommand({"shardcollection":"foobar.bar","key":{"_id":1}})


    4.8利用大数据量进行测试 (800000条)


    5.查看配置库对于分片服务器的配置存储
    db.printShardingStatus()
    6.查看集群对bar的自动分片机制配置信息
    mongos> db.shards.find()
    { "_id" : "shard0000", "host" : "127.0.0.1:8081" }
    { "_id" : "shard0001", "host" : "127.0.0.1:8082" }
    7.保险起见的配置服务器集群


    8.分片与副本集一起使用

    function add(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":i+10,"name":"jim"})
     }
    }
    
    function add2(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":12,"name":"tom"+i})
     }
    }
    
    function add3(){
     var i = 0;
     for(;i<200000;i++){
       db.bar.insert({"age":12,"name":"lili"+i})
     }
    }
    
    //查看状态
    db.printShardingStatus()

    mongod --config 分片数据库_01.conf

    dbpath = D:sortwaremongod38081
    port = 8081
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8081/admin

    mongod --config 分片数据库_02.conf

    dbpath = D:sortwaremongod38082
    port = 8082
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8082/admin

    mongos --port 1000 --configdb 127.0.0.1:2000

    mongo 127.0.0.1:1000/admin

    mongod --config 配置服务器.conf

    dbpath = D:sortwaremongod3config
    port = 2000
    bind_ip = 127.0.0.1

    mongod --config 分片数据库_01.conf

    dbpath = D:softwareMongoDBDATA8801
    port = 8081
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8081/admin

    mongod --config 分片数据库_02.conf

    dbpath = D:softwareMongoDBDATA88082
    port = 8082
    bind_ip = 127.0.0.1

    mongo 127.0.0.1:8082/admin

    mongos --port 1000 --configdb 127.0.0.1:2000

    mongo 127.0.0.1:1000/admin

    mongod --config 配置服务器.conf

    dbpath = D:softwareMongoDBDATA8config
    port = 2000
    bind_ip = 127.0.0.1

  • 相关阅读:
    python集成开发环境Anaconda的安装
    hasMap2
    WireShark:TCP三次握手 抓包
    CCF 201409-4 最优配餐
    201403-4 无线网络
    java IO的字节流和字符流及其区别
    平衡二叉树DSW算法
    警惕Java编译器中那些“蜜糖”陷阱
    laravel 学习笔记 —— 神奇的服务容器
    LNMP下安装phpmyadmin的一个小错误解决办法
  • 原文地址:https://www.cnblogs.com/ecollab/p/7536315.html
Copyright © 2011-2022 走看看