zoukankan      html  css  js  c++  java
  • MongoDB 分片操作

    添加分片

        use admin

        //添加分片节点,每个分片都是一个副本集【allowLocal:true仅仅开发时才将分片配置到本地,生产时不能这样】

        db.runCommand({addshard:"localhost:9335",allowLocal:true})

        db.runCommand({addshard:"localhost:9336",allowLocal:true})

        db.runCommand({addshard:"localhost:9337",allowLocal:true,”maxSize”:20000})   注意:还可以为不同分片设置大小”maxSize”:20000(20gb)

        //要分片的数据库

        db.runCommand({enablesharding:"mydb"})

        //设置要分片的集合:users集合,name字段为key来分片

        db.runCommand({shardcollection:"mydb.users",key:{name:1}})

        db.runCommand({shardcollection:"mydb.users",key:{_id:1,name:1,name:1}})      【如果出现"errmsg" : "please create an index that starts with the shard key before sharding.",请创建索引】

    查看分片结果

        //查看分区情况

        use mydb

        db.users.getShardDistribution()

        db.users.stats();

    向已经分片的数据中,再次添加分片

        db.runCommand({addshard:"localhost:9337",allowLocal:true})     会自动平衡数据

    删除分片

        db.runCommand({removeshard:"localhost:9335"})   

        db.runCommand({removeshard:"localhost:9336"})

        db.runCommand({removeshard:"localhost:9337"})

        //【如果删除的是主节点,还需要】

        db.runCommand({"moveprimary" : "mydb","to" : "localhost:9336"}) 

        //【删除完后还需要在执行一次db.runCommand({removeshard:"localhost:xxxx"})   才能完整删除】

        //【观察删除情况:】

        use admin

        db.printShardingStatus()

        //【这种方式不能删除所有分片,最后一个分片是不能删除的】

  • 相关阅读:
    Spring Boot入门
    Spring MVC文件上传和下载
    Spring MVC异常处理
    SpringMVC
    linux(2)
    linux(1)
    白盒测试
    LoadRunner(8)
    LoadRunner(7)
    LoadRunner(6)
  • 原文地址:https://www.cnblogs.com/de0319gh/p/3838278.html
Copyright © 2011-2022 走看看