MongoDB Shard部署及Tag的使用
Shard部署
准备测试环境
为准备数据文件夹
Cd /home/tiansign/fanr/mongodb/Shard
mkdir configdb1 configdb2 configdb3
mkdir shard1 shard2 shard3
mkdir mongos
准备配置文件
为Config准备配置文件
dbpath=/home/tiansign/fanr/mongodb/Shard/configdb1
fork = true
logpath=/home/tiansign/fanr/mongodb/Shard/configdb1/config.log
为Shard准备配置文件
dbpath=/home/tiansign/fanr/mongodb/Shard/shard1
fork = true
logpath=/home/tiansign/fanr/mongodb/Shard/shard1/shard.log
port=27018
dbpath=/home/tiansign/fanr/mongodb/Shard/shard2
fork = true
logpath=/home/tiansign/fanr/mongodb/Shard/shard2/shard.log
port=27021
dbpath=/home/tiansign/fanr/mongodb/Shard/shard3
fork = true
logpath=/home/tiansign/fanr/mongodb/Shard/shard3/shard.log
port=27020
启动Config服务
mongod --config /home/tiansign/fanr/mongodb/Shard/configdb1/config.cfg --configsvr
启动Mongos服务
#mongos -f /home/tiansign/fanr/mongodb/Shard/mongos/mongos.cfg
mongos –configdb 127.0.0.1:27019
启动Shard的Mongod
mongod --config /home/tiansign/fanr/mongodb/Shard/shard1/shard.cfg
mongod --config /home/tiansign/fanr/mongodb/Shard/shard2/shard.cfg
mongod --config /home/tiansign/fanr/mongodb/Shard/shard3/shard.cfg
加入Shard服务
Mongo
sh.addShard("127.0.0.1:27018")
sh.addShard("127.0.0.1:27021")
sh.addShard("127.0.0.1:27020")
db.settings.save( { _id:"chunksize", value: 1} )
配置Shard Database
sh.enableSharding("test")
配置Shard Collection
sh.shardCollection("test.joker", {jokes:1});
插入测试数据
for (var i=0; i<100000; i++) { db.joker.insert({jokes: Math.random(), count: i, time: new Date()}); }
查看Chunk分布情况
use config
db.chunks.find({ns: "test.joker"}, {shard:1, _id:0}).sort({shard:1})
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0001" }
{ "shard" : "shard0001" }
{ "shard" : "shard0001" }
{ "shard" : "shard0002" }
{ "shard" : "shard0002" }
{ "shard" : "shard0002" }
Shard Tag的使用
先把Tag和Shard关联
sh.addShardTag("shard0000", "mr. j")
为Tag分配shard key
sh.addTagRange("test.joker", {jokes:MinKey}, {jokes:MaxKey}, "mr. j")
查看均衡器状态
db.locks.find( { _id : "balancer" } ).pretty()
查看Chunk分布情况
use config
db.chunks.find({ns: "test.joker"}, {shard:1, _id:0}).sort({shard:1})
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
{ "shard" : "shard0000" }
MongoDB Shard部署及Tag的使用的更多相关文章
- mongodb 简单部署方案及实例
mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb 我这里选用rehl 5.6 ...
- mongodb分片部署
Mongodb 分片部署 配置mongodb集群,比如 在3个server上配置 3 shard的Mongodb集群: 架构: 1.每片数据需要3个mongod server,2个为主从数据节点:1个 ...
- MongoDB 分布式部署教程
本文将介绍如何使用 MongoDB 提供的 Replica Set 和 Shards 功能构建一个分布式 MongoDB 集群. Replica Set 部署 我们先从部署一个三节点的 Replica ...
- mongodb环境部署
mongodb 环境部署 1.环境说明 安装软件:mongodb-linux-x86_64-.tgz 软件安装位置:/usr/local/mongodb 数据存放位置:/var/mongodb/dat ...
- 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...
- MongoDB单机部署
MongoDB单机部署 一.环境 系统:centos7.6 DB版本:mongodb-linux-x86_64-rhel62-4.2.1.tgz 官网地址:https://www.mongodb.co ...
- MongoDB安装部署(一)
前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...
- Tokumx 代替 Mongodb 群集部署
一, 配置环境: 系统: CentOS 7 x64 tokumx1 ip: 192.168.0.155 tokumx2 ip: 192.168.0.156 tokumx3 ip: 192.168.0. ...
- 腾讯云Unubtu 16.04 (gunicorn+supervisor+ngnix+mongodb)部署Flask应用
1.申请腾讯云服务 我申请了免费使用的云服务器 ,选择安装的Linux版本是ubuntu16.04.1 LTSx86_64.我个人PC安装使用的也是这个版本,比较熟悉些. 详细参考帮助文档. 2.登录 ...
随机推荐
- jquery选择器(综合)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 11.21 if条件语句 年月日执行判断
<script language="javascript"> var nian=prompt("输入一个年份","") if(n ...
- js 关于日期
new Date() 获取当前的完整日期 : 如 2016-12-30 new Date().getFullYear() 获取当前的年份 new Date().getMonth() 获取当前的月份( ...
- Foreach原理
本质:实现了一个IEnumerable接口, 01.为什么数组和集合可以使用foreach遍历? 解析:因为数组和集合都实现了IEnumerable接口,该接口中只有一个方法,GetEnumerato ...
- 基本I/O模型与Epoll简介
5种基本的I/O模型:1)阻塞I/O ;2)非阻塞I/O; 3)I/O复用(select和poll);4)信号驱动I/O(SIGIO);5)异步I/O(POSIX.1的aio_系列函数). 操作系统中 ...
- 解决Wireshark没有网卡问题
wireshark在mac上使用没有网卡问题直接在终端输入命令:sudo chmod 644 /dev/bpf*
- [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection)
[.NET] 使用Json.NET提供依赖注入功能(Dependence Injection) 前言 在一些小型项目的开发情景里,系统不需要大型DI Framework所提供的:单一对象生成.生命周期 ...
- Quartz.NET开源作业调度框架系列(四):Plugin Job
如果在Quartz.NET作业运行时我们想动态修改Job和Trigger的绑定关系,同时修改一些参数那么该怎么办呢?Quartz.NET提供了插件技术,可以通过在XML文件中对Job和Trigger的 ...
- 用js动态生成css代码
有时候我们需要利用js来动态生成页面上style标签中的css代码,方法很直接,就是直接创建一个style元素,然后设置style元素里面的css代码,最后把它插入到head元素中.但有些兼容性问题我 ...
- 最简单的轮播广告(原生JS)
改变每个图片的opacity属性:来自学友刘斌 素材图片: <!DOCTYPE html> <html lang="en"> <head> &l ...