下图展示了在MongoDB中使用分片集群结构分布:

上图中主要有如下所述三个主要组件:

  • Shard:

    用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个replica set承担,防止主机单点故障

  • Config Server:

    mongod实例,存储了整个 ClusterMetadata,其中包括 chunk信息。

  • Query Routers:

    前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。

1、启动mongodb

mkdir -p /home/m17 /home/m18 /home/m20 /home/mlog
#启动s1
mongod --dbpath /home/m17 --logpath /home/mlog/m17.log --fork --port --smallfiles
#启动s2
mongod --dbpath /home/m18 --logpath /home/mlog/m18.log --fork --port --smallfiles
#启动configsvr
mongod --dbpath /home/m20 --logpath /home/mlog/m20.log --fork --port --configsvr
#启动mogos
mongos --logpath /home/mlog/m30.log --port --configdb 192.168.1.1: --fork

2、配置分片节点

mongo --port 30000

mongos>sh.addShard('192.168.1.1:27017');
mongos>sh.addShard('192.168.1.1:27018'); #查看
mongos>sh.status();

3、设定分片规则

#为shop库进行分片
mongos>sh.enableSharding('shop');
#可查看
mongos>sh.status();
#goods表分配片键
mongos>sh.shardCollection('shop.goods',{goods_id:});
#可查看
mongos>sh.status();
#查看chunk size
mongos>use config
mongos>db.settings.fihnd();
#修改chunk size
mongos>db.settings.save({_id:'chunksize',value:}); #缺点:会造成块的移动,下面介绍手动预先分片

4、手动预先分片规则

mongos>sh.shardCollection('shop.user',{userid:});
mongos>sh.status();
#预先分40块,每1000条数据一块
mongos>for(var i=;i<=;i++){ sh.splitAt('shop.user',{userid:i*});}

mogodb分片配置的更多相关文章

  1. MongoDB Sharding分片配置

    Ps:mongod是mongodb实例,mongos被默认为为mongodb sharding的路由实例. 本文使用的mongodb版本为3.2.9,因此参考网址为:https://docs.mong ...

  2. 使用Elastic Job的分片配置加速任务执行和提高资源利用率

    上一篇,我们介绍了如何使用Elastic Job实现定时任务.解决了使用@Scheduled来实现时候存在的竞争问题,同时也实现了定时任务的高可用执行. 然而,还有一类问题是我们在做定时任务时候容易出 ...

  3. 分片利器 AutoTable:为用户带来「管家式」分片配置体验

    在<DistSQL:像数据库一样使用 Apache ShardingSphere>一文中,Committer 孟浩然为大家介绍了 DistSQL 的设计初衷和语法体系,并通过实战操作展示了 ...

  4. mongodb分片配置

    通过YUM库自动安装Mongodb 手动安装配置mongodb 验证mongodb主从复制过程 验证mongodb副本集并实现自动切换 实验mongodb使用gridfs存放一个大文件 1.创建数据目 ...

  5. windows下的mongodb分片配置

    1. 分片服务器设置mongod -port 10001 -dbpath=F:/DbSoft/mongodb/rs_data/master -directoryperdb --shardsvr -re ...

  6. windows环境下Mongodb分片配置

    使用MongoDB的GridFS来存储文件,以前一直使用单个服务,分布式环境也一直没有配置成功,今天参考了几位大神的文章终于配置成功,再也不用担心文件存储的性能和安全啦.以下是自己部署的过程和示例,记 ...

  7. mongodb数据库集群及sharding分片配置

    复制集群的配置 1.安装mongodb数据库 在主节点和从节点上都安装mongodb # rpm -ivh mongo-10gen-2.4.6-mongodb_1.x86_64.rpm mongo-1 ...

  8. MongoDB分片配置系列一:

    接这篇博客: http://www.cnblogs.com/xiaoit/p/4479066.html 这里不再说明安装过程. 1:分片简介 分片是一种将海量的数据水平扩展的数据库集群系统,数据分表存 ...

  9. sharding-jdbc数据分片配置

    数据分片 不使用Spring 引入Maven依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> ...

随机推荐

  1. Angular 自定义拖拽指令

    指令 组件是一种带模版的指令.指令是超级. 结构型指令(改变布局)和属性型指令(改变外观和行为). Renderer2和ElementRef Angular不提倡直接操作DOM 对于DOM的操作应该通 ...

  2. 类中被final修饰的成员变量需要初始化

    类中被final修饰的成员变量需要初始化,否则编译不通过,因为final修饰后不能再赋值,因此必须初始化.

  3. centos6.5中 linux 升级内核

    需要使用安装docker ,但是docker 需要版本在3.1及以上.但是虚拟机的是2.6所以需要升级 记录以下升级的时候报错以及解决的办法 遇到的错误有: 1.出现curl: (35) SSL co ...

  4. 勾勾街:用最小的成本封装一个苹果IOS APP! 封装技术再度升级~

    勾勾街自上线以来,“遭到”大量群众的喜爱... 只能用遭到这个词儿,因为大家好像都被憋了很久了,哈哈哈! 我们的技术是先进的,也是首创的,但最近发现了另一个网站,把我们的技术抄走了.... 本来这个事 ...

  5. Android Getting Started

    Building Your First App Creating an Android Project 介绍如何Android开发环境,具体是:怎么使用Eclipse工具 Create a Proje ...

  6. 用python写一个非常简单的QQ轰炸机

    闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了.. 思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏, ...

  7. Rewrite JSON with Fetch

    1.重写json请求部分:HTML文件代码如下:<html>......<script> var myList = document.querySelector(‘ul‘); ...

  8. 3.ifconfig

    Windows下查看IP地址用ipconfig Linux 下查看IP地址用ifconfig 还有 ip addr      而ipconfig 和ip addr的区别则是与net-tools工具和i ...

  9. Python函数式编程之lambda表达式

    一:匿名函数的定义 lambda parameter_list: expression 二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果 三:map map(f ...

  10. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)

    二.nova-api 步骤3:nova-api接收请求 nova-api接收请求,也不是随便怎么来都接收的,而是需要设定rate limits,默认的实现是在ratelimit的middleware里 ...