MongoDB集群高可用实战之Shard Cluster搭建

  上篇简单介绍了分片的原理,此文实践Shard Cluster搭建。具体参考Deploy a Sharded Cluster — MongoDB Manual

  环境准备:165作为config结点集群,163作为shard集群创建3个shard集群,167作为路由节点。

  1、配置 并启动config 节点集群

    参考Deploy a Sharded Cluster — MongoDB ManualMongoDB集群高可用实战之复制集replica sets搭建 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com),同时添加标志表示该集群是config Server,如下:

      /etc/mongod_config1.conf

        

        

  2、配置shard集群
    参考同上。建立两个复制集,如下:

    1)myShard1Set

        

         

    2)myShard2Set

        

  3、配置和启动路由节点

    增加mongos相关配置,可参考官网同上亦可通过mongos --help进行查看

        

     启动路由

        mongos -f /etc/mongos.conf

        

     链接过程中一直出于静止状态,查看日志

     使用telnet 查看该ip/port

        

     那就是防火墙的问题了,解决:

        

    再次启动:

        

  4、mongos(路由)中添加分⽚节点

    进入路由mongos:

        

         

     

         

     

  5、开启数据库和集合分⽚(指定⽚键)

    继续使⽤mongos完成分⽚开启和分⽚⼤⼩设置,如下:

      

    1)为数据库开启分⽚功能:sh.enableSharding("<database>")

      

    2)为指定集合开启分⽚功能:sh.shardCollection("<database>.<collection>",{"⽚键字段名如 name":索引说明})

      sh.shardCollection("<database>.<collection>", { <shard key field> : "hashed" } )    //hash分片

      sh.shardCollection("<database>.<collection>", { <shard key field> : 1, ... } )      //基于范围分片

      

       

     对于已存在的数据库,集合开启分片功能会失败提示已存在这样的集合。

  6、向集合中插⼊数据测试

      

  7、验证分⽚效果
      

       

       

       这个shard的总数为mongos中增量的数量1000。

 

 

posted on 2022-03-23 13:45  池塘里洗澡的鸭子  阅读(223)  评论(0编辑  收藏  举报