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 Manual和MongoDB集群高可用实战之复制集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。
浙公网安备 33010602011771号