mongo13----application set与分片结合
replation set配合分片 打开3台服务器,B服务器(202)放configserv, C,D服务器(203.204)放置复制集 192.168.1.203和192.168.1.204分别运行之前的sh start.sh(要把ip和rs的名字改了),那么就在这2个ip上搭建了一个replation set.
192.168.1.203>192.168.1.204> sh start.sh reset
192.168.1.203>192.168.1.204> sh start.sh install //复制集创建完毕(2个片创建完毕)
192.168.1.203>192.168.1.204> sh start.sh repl //接下来202 ip创建mongos和configsrv,
192.168.1.202> sh start.sh reset //清理初始化
192.168.1.202> mkdir -p /home/m20 /home/mlog //初始化configsrv(一般也是分在不同的服务器上,防止down掉)
192.168.1.202> /usr/local/mongodb/bin/mongod --dbpath /home/m20/ --logpath /home/mlog/m20.log --port 27020 --fork --configsvr //27020端口
//初始化mongos
192.168.1.202> /usr/local/mongodb/bin/mongos --logpath /data/mlog/r30.log --port 30000 --configdb 192.168.202:27020 --fork //端口是30000,configser是192.168.202:27020,mongos和configsvr连在了一起 ps aux | grep momgo //连接30000(最好用ip连接,不要只输入端口)
192.168.1.202> ./bin/mongo 192.168.1.202:30000 //添加repl set为片,现在3者都连接到一起了,
192.168.1.202> sh.addShard('rs3/192.168.1.203:27017') //17端口的复制集加进去
192.168.1.202> sh.addShard('rs4/192.168.1.204:27018') //18端口的复制集加进去 192.168.1.202> sh.status(); //看到建立好了 192.168.1.202> sh.enableSharding('shop'); //shop库是要分片的
192.168.1.202> sh.shardCollection('shop.user',{id:1}); //shop库的user表,用id来做片键,分到哪个片上, //手动分片,id遇到1000的整数倍就拆一下
192.168.1.202> sh.splitAt('shop.user',{id:1000}) //1000拆一下
192.168.1.202> sh.splitAt('shop.user',{id:2000}) //2000拆一下
192.168.1.202> sh.splitAt('shop.user',{id:3000}) //3000拆一下,多的话可以写一个for循环。 192.168.1.202> sh.status() 192.168.1.202> use shop
192.168.1.202> for(var i=1;i<=4000;i++) {//一共4000条
db.user.insert({userid:i,name:"kitty"})
} //现在03,04是片,并且还在复制集有2个拷贝。1---2000在203,2000----4000在204上 192.168.1.203> ./bin/mongo
192.168.1.203> use shop
192.168.1.203> show tables //自动创建了库和表
192.168.1.203> db.user.find().count() //2001条
192.168.1.203> db.user.find().skip(1980) 192.168.1.203> ./bin/mongo --port 27018 //片上的secondary次节点
192.168.1.203> use shop
192.168.1.203> rs.slaveok() //不然不能看
192.168.1.203> db.user.find().count() //2001条
192.168.1.203> db.user.find().skip(1980) //完全一样了 192.168.1.204> ./bin/mongo
192.168.1.204> use shop
192.168.1.204> show tables //自动创建了库和表
192.168.1.204> db.user.find().count() //1999条
192.168.1.204> db.user.find().skip(1980) 192.168.1.204> ./bin/mongo --port 27018 //片上的secondary次节点
192.168.1.204> use shop
192.168.1.204> rs.slaveok() //不然不能看
192.168.1.204> db.user.find().count() //2001条
192.168.1.204> db.user.find().skip(1980) //完全一样了 start.sh文件:
#!/bin/bash
IP='192.168.1.202'
NA='rsb' if [ "$1" = "reset" ]
then
pkill -9 mongo
rm -rf /home/m*
exit
fi if [ "$1" = "install" ]
then mkdir -p /home/m0 /home/m1 /home/m2 /home/mlog /usr/local/mongodb/bin/mongod --dbpath /home/m0 --logpath /home/mlog/m17.log --logappend --port 27017 --fork
--replSet ${NA}
/usr/local/mongodb/bin/mongod --dbpath /home/m1 --logpath /home/mlog/m18.log --logappend --port 27018 --fork
--replSet ${NA}
/usr/local/mongodb/bin/mongod --dbpath /home/m2 --logpath /home/mlog/m19.log --logappend --port 27019 --fork
--replSet ${NA} exit
fi if [ "$1" = "repl" ]
then
/usr/local/mongodb/bin/mongo <<EOF use admin
rsconf = {
_id:'${NA}',
members:[
{_id:0,host:'${IP}:27017'},
{_id:1,host:'${IP}:27018'},
{_id:2,host:'${IP}:27019'},
]
}
rs.initiate(rsconf)
EOF
fi


mongo13----application set与分片结合的更多相关文章
- websocket protocal
same-orgins:浏览器同源策略的安全模型 持久化协议 双向双工 多路复用, 同时发信息 区别HTTP连接特点: http只能由客户端发起,一个request对应一个respon ...
- Flink架构(一)- 系统架构
1. 系统架构 Flink是一个分布式系统,用于有状态的并行数据流处理.也就是说,Flink会分布式地运行在多个机器上.在分布式系统中,常见的挑战有:如何对集群中的资源进行分配与管理.协调进程.数据存 ...
- MongoDB 分片管理
在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分, ...
- MongoDB 搭建分片集群
在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(S ...
- MyCat 安装部署,实现数据库分片存储
一.安装MySQL或MariaDB(本文以MariaDB为例) MySQL手动安装方法:点击查看 MariaDB安装: 1.下载MariaDB的repo $ vi /etc/yum.repos.d/M ...
- spring boot application.properties 属性详解
2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...
- Hadoop InputFormat 输入文件分片
1. Mapper 与 Reducer 数量 对于一个默认的MapReduce Job 来说,map任务的数量等于输入文件被划分成的分块数,这个取决于输入文件的大小以及文件块的大小(如果此文件在 HD ...
- webuploader分片上传
屁话不多说直接上主题; webuploader,sj(WebUploader 0.1.6)网上有下 powerUpload.js 自己写的基与楼上的插件 asp.net mvc/Api 实现效果: H ...
- Akka-Cluster(6)- Cluster-Sharding:集群分片,分布式交互程序核心方式
在前面几篇讨论里我们介绍了在集群环境里的一些编程模式.分布式数据结构及具体实现方式.到目前为止,我们已经实现了把程序任务分配给处于很多服务器上的actor,能够最大程度的利用整体系统的硬件资源.这是因 ...
- LwIP Application Developers Manual1---介绍
1.前言 本文主要是对LwIP Application Developers Manual的翻译 2.读者(应用开发手册的读者) 谁适合读这份手册 网络应用的开发者 想了解lwIP的网络应用开发者 阅 ...
随机推荐
- 关于一个多个.cpp文件的项目中,函数出现未定义引用错误
编译的话,必须把全部的c文件都要编译的啊,只编译一个c算怎么个逻辑呢?编译实际上是2个过程,编译和链接.编译过程只检查所有的符号(变量,函数)有没有声明,即只需要h文件生命就够了.但是链接时候,需要找 ...
- 关于hibernate中的 lazy="false“
如上图所示,warehousePicked 中包含了warehousePicking 同时,数据库中warehousePicking存在数据 ,但是在debug 时warehousePicked的be ...
- js模式(一):单例模式
function Universe(){ var instance; Universe = function (){ return instance; } Universe.prototype = t ...
- STM32F407 独立看门狗 个人笔记
什么是看门狗 如果程序跑飞了怎么办? 可以用看门狗来监控. 看门狗是: 一个递减的计数器,如果不按时给计数器赋值,计数器的值减到一定程度,就会使系统复位. 也就是说如果程序运行异常,无法正常给计数器赋 ...
- xtu summer individual 1 A - An interesting mobile game
An interesting mobile game Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on H ...
- HDU 4641
动态更新后缀自动机,每次不断依据当前添加的节点不断往前寻找父节点上字符串最多可出现的次数 这里为了减少运算,当父节点已经达到k次就不在往前寻找,因为之前的必然达到k次,也已经统计在内 #include ...
- BZOJ4552 - [TJOI2016]排序
Portal Description 给出一个\(1..n(n\leq10^5)\)的排列,进行\(m(m\leq10^5)\)次操作: 升序排列\([L,R]\)中的数. 降序排列\([L,R]\) ...
- poj 3678 XOR和OR和AND(简单2-sat问题)
/* 题意:给你一些边,每条边有一个值和一个运算符XOR OR AND求是否存在一些点使得所有的边根据这些运算符 可以符合条件的权值. 建边方式参考:http://blog.csdn.net/shua ...
- 静态工具类中使用注解注入service实例
一般需要在一个工具类中使用@Autowired 注解注入一个service.但是由于工具类方法一般都写成static,所以直接注入就存在问题. 使用如下方式可以解决: /** * */ package ...
- HDU 6035 (虚树)(统计颜色)
HDU 6035 Colorful Tree Problem : 给一棵树,每个结点有一种颜色,定义每条路径的权值为这条路径上颜色的种数,询问所有路径(C(n,2)条)的权值之和. Solution ...