mongDB分片
2016-09-01 14:47
155 查看
一、MongoDB分片介绍
1). 什么是分片?分片:是将数据进行拆分,将数据水平分散到不同的服务器上
user_id 数据库一线表里字段名
2).为什么要分片?
架构上:读写均衡,去中心化
结构上:12点节点(version<=2.6)
硬件上:内存,硬盘容量限制
3).mongodb分片技术适用场景
什么时候考虑分片
硬盘,内存存在限制,或者faults使用比较多,读取性能下降
4).分片、副本级集群对比
二、搭建一个MongoDB分片集群
2-1.分片成员节点介绍并启动
1).Shard节点:存储数据的节点(单个mongodb或者副本集)2).Config server: 存储元数据,为mongos服务,将数据路由到Shard
3).Mongos: 接入前端请求,进行对应消息路由
为了方便用命令启动,也可以用配置文件
# 启动Shard 关键是mongod --shardsvr,或者mongod --shardsvr --rpelSet 副本集 changwen@ubuntu:~$ sudo /usr/local/mongoDB/bin/mongod --shardsvr --logpath=/usr/local/mongoDB/logs/28004.log --logappend --dbpath=/usr/local/mongoDB/data/db/28004/ --fork --port 28004 # 启动Config server类似,启动时mongod --configsvr changwen@ubuntu:~$ sudo /usr/local/mongoDB/bin/mongod --configsvr --logpath=/usr/local/mongoDB/logs/28005.log --logappend --dbpath=/usr/local/mongoDB/data/db/28005/ --fork --port 28005 # 启动Mongos,monos --configdb<configdb server> changwen@ubuntu:~$ sudo /usr/local/mongoDB/bin/mongos --port 28004 --logappend --logpath=/usr/local/mongoDB/logs/mongos.log --configdb 192.168.23.129:28005 --fork
2-2.添加分片
添加分片过程1).连接到mongos
2).Add Shards
3).Enable Sharding
4).对一个集合进行分片
步骤二、Add Shards
1).单个数据库实例 :
{addShard:"<hostname><:port>",maxSize:<size>,name:"<shard_name>"}
2).副本集群:
{addShard:"<replica_set>/<hostname><:port>",maxSize:<size>,name:"<shard_name>"}
3).如果你的mongos和shard在同一台机器上,添加分片不能使用“localhost”,建议用ip
步骤四、对一个集合进行分片
1).db.runCommand({shardollecction:"<namespace>",key:"<key>"})
2).unique:"true/false" 启动对shard key的唯一性约束
3).shard key(片键)选择
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 如何在 Fedora 上安装 MongoDB 服务器
- PHP添加yaf xhprof mongodb 同理
- mongodb安装
- 如何在 Ubuntu 上安装 MongoDB
- 信息安全聚合 Sec-News 的重构之路
- Ruby on Rails框架程序连接MongoDB的教程
- perl操作MongoDB报错undefined symbol: HeUTF8解决方法
- C#中使用1.7版本驱动操作MongoDB简单例子
- 使用zabbix监控mongodb的方法
- Node.js的MongoDB驱动Mongoose基本使用教程
- MongoDB系列教程(四):设置用户访问权限
- MongoDB安装图文教程
- ASP.NET MVC4使用MongoDB制作相册管理
- node.js连接mongoDB数据库 快速搭建自己的web服务
- php mongodb操作类 带几个简单的例子
- php实现的mongodb操作类实例
- 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
- 在PostgreSQL的基础上创建一个MongoDB的副本的教程
- 关于mongoose连接mongodb重复访问报错的解决办法