1 分区1
2 分区2
3 路由服务器实例-mongos(客户端访问它)
4 配置服务器实例-config

1 分片 cd /d D:\Test\bin1 10001
2 分片 cd /d D:\Test\bin2 10002
3 配置 cd /d D:\Test\bin3 10003
4 路由 cd /d D:\Test\bin4 10004

//启动实例
1 mongod -dbpath "D:\Test\data1" -port 10001 -keyFile "D:\Test\keyfile1\key.txt"
2 mongod -dbpath "D:\Test\data2" -port 10002 -keyFile "D:\Test\keyfile2\key.txt"
3 mongod -dbpath "D:\Test\data4" -port 10003 -keyFile "D:\Test\keyfile3\key.txt"
4 mongos -port 10004 -configdb 127.0.0.1:10003 -keyFile "D:\Test\keyfile4\key.txt" -chunkSize 1

[注意]
集群必须-keyFile安全模式,采用-keyFile模式后-auth不必添加,-keyFile隐含-auth。
-keyFile 文件至少包含6个base64字符并且不大于1K

//配置用户
//4 mongod -dbpath "D:\Test\data4" -port 10004 -keyFile "D:\Test\keyfile\key.txt"

==操作全部针对[路由服务器]==

//添加分片-- 配置路由服务器实例
4 mongo 127.0.0.1:10004
4 use admin
4 db.auth("Mongo3","1000")
4 db.runCommand({"addshard":"127.0.0.1:10001","allowLocal":true})
4 db.runCommand({"addshard":"127.0.0.1:10002","allowLocal":true})
[注意]
使用配置服务器帐号
当路由进程和分片在同一台机器上要指定allowLocal为true

//删除分片-- 配置路由服务器实例 (需执行2次,第一次标记draining:true,第二次删除)
4 db.runCommand({"removeshard":"127.0.0.1:10001"})
[注意]
删除后的分片实例重新添加时,必须把原有数据库删除,否则无法添加(主分片(基片)不允许删除)
4 db.runCommand({"movePrimary": "", to: "" }) //将分片移动到指定的分片(主分片(基片))

//开启数据库分片功能
4 db.runCommand({"enablesharding":"us_user"})
//指定集合中分片片键
4 db.runCommand({"shardcollection":"us_user.user","key":{"userId":1}})
4 db.runCommand({"shardcollection":"us_user.user","key":{"userId":"hashed"}}) //采用哈希分片,数据分布均匀

//查看数据的分片情况
4 db.printShardingStatus() //shards 分片信息/databases.partitioned 是否分片databases.primary 主分片(基片)

//管理分片
4 use config
4 db.shards.find() //查看分片服务器
4 db.databases.find() //查看分片的数据库
4 db.chunks.find() //查看分片信息
4 db.settings.find() //查看分片大小 单位MB
4 db.settings.save({_id:"chunksize",value:1}) //改变分片大小

//分片大小
当数据超出设定大小后自动进行分片操作
设置大小可以在 路由服务器实例 启动时设置 chunkSize 单位MB
4 mongos -port 10004 -configdb 127.0.0.1:10003 -chunkSize 1

=======
单个分片实例只储存部分数据,路由实例不储存数据,只对数据访问进行映射
直接对单个分片实例操作的数据只保存在该分片实例中[参与分片的数据库不建议直接操作]

访问路由服务器只能用配置服务器账户,路由服务器不必设置帐号。
片键建议使用主键,修改单条记录只能根据片键进行修改操作.批量可以不使用片键

未分片数据库,添加数据时会保存到主分片(基片)

MongoDB-分片的更多相关文章

  1. MongoDB 分片管理(不定时更新)

    背景: 通过上一篇的 MongoDB 分片的原理.搭建.应用 大致了解了MongoDB分片的安装和一些基本的使用情况,现在来说明下如何管理和优化MongoDB分片的使用. 知识点: 1) 分片的配置和 ...

  2. MongoDB 分片的原理、搭建、应用

    一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这 ...

  3. MongoDB分片简单实例

    分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据也足以提供可接受的读写吞吐量.这时,我 ...

  4. (转)MongoDB分片实战 集群搭建

    环境准备 Linux环境 主机 OS 备注 192.168.32.13 CentOS6.3 64位 普通PC 192.168.71.43 CentOS6.2 64位 服务器,NUMA CPU架构 Mo ...

  5. 搭建mongodb分片

    搭建mongodb分片 http://gong1208.iteye.com/blog/1622078 Sharding分片概念 这是一种将海量的数据水平扩展的数据库集群系统,数据分表存储在shardi ...

  6. mongodb分片

    在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来 ...

  7. mongodb 分片群集(sharding cluster)

    实际环境架构 分别在3台机器运行一个mongod实例(称为mongod shard11,mongod shard12,mongod shard13)组织replica set1,作为cluster的s ...

  8. MongoDB基础教程系列--第九篇 MongoDB 分片

    1.分片介绍 分片(sharding)是将数据拆分,将其分散存到不同机器上的过程.MongoDB 支持自动分片,可以使数据库架构对应用程序不可见.对于应用程序来说,好像始终在使用一个单机的 Mongo ...

  9. mongodb分片部署

    Mongodb 分片部署 配置mongodb集群,比如 在3个server上配置 3 shard的Mongodb集群: 架构: 1.每片数据需要3个mongod server,2个为主从数据节点:1个 ...

  10. MongoDB分片原理篇

    MongoDB分片 为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用, ...

随机推荐

  1. c#获取外网IP地址的方法

    1.如果你是通过路由上网的,可以通过访问ip138之类的地址来获取外网IP 2.如果是通过PPPOE拨号上网的,可以使用以下代码获取IP //获取宽带连接(PPPOE拨号)的IP地址,timeout超 ...

  2. cocos2d-js 学习笔记 --安装调试(1)

    目前从国内来看,比较知名的,适合前端程序员使用的游戏框架,基本是 egret 和cocos2d-js;刚好两个框架都学习了下, egret的是最近兴起的一个框架主要使用TypeScript.js语言做 ...

  3. cron 任务

    相关文件 /etc/crontab /etc/cron.deny 设置哪个用户有权限运行 cron 任务 /var/spool/cron/root /var/spool/cron/user /var/ ...

  4. jeecms3.0.4版本 详解请求如何找到首页(转)

    第一步:发送http://localhost:8080/emisstrade/ 请求 第二步:首先进入配置文件web.xml, <context-param> <param-name ...

  5. MongoDB 效率

    写入: 插入100万条数据:用InsertMany,耗时16s左右. 读取: 读取300万条数据,耗时3600毫秒.

  6. Position属性四个值:static、fixed、absolute和relative的区别和用法

    Position属性四个值:static.fixed.absolute和relative的区别和用法 在用CSS+DIV进行布局的时候,一直对position的四个属性值relative,absolu ...

  7. js将多个方法添加到window对象上的多种方法

    方法一:(最简单也是最笨的方法) window.a = function(){}window.b = function(){}window.c = function(){} 方法二:(利用jq的ext ...

  8. JS脚本语言是什么意思?

    javascript,Javascript是一种浏览器端的脚本语言,用来在网页客户端处理与用户的交互,以及实现页面特效.比如提交表单前先验证数据合法性,减少服务器错误和压力.根据客户操作,给出一些提升 ...

  9. centos7.0 安装redis集群

    生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...

  10. ASP.NET知识总结(8.AJAX异步)

    AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML. 指一种创建交互式网页应用的网页开发技术.   不是指一种单一的技术,而是有机 ...