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与分片结合的更多相关文章

  1. websocket protocal

    same-orgins:浏览器同源策略的安全模型   持久化协议   双向双工  多路复用, 同时发信息   区别HTTP连接特点:  http只能由客户端发起,一个request对应一个respon ...

  2. Flink架构(一)- 系统架构

    1. 系统架构 Flink是一个分布式系统,用于有状态的并行数据流处理.也就是说,Flink会分布式地运行在多个机器上.在分布式系统中,常见的挑战有:如何对集群中的资源进行分配与管理.协调进程.数据存 ...

  3. MongoDB 分片管理

    在MongoDB(版本 3.2.9)中,分片集群(sharded cluster)是一种水平扩展数据库系统性能的方法,能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分, ...

  4. MongoDB 搭建分片集群

    在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(S ...

  5. MyCat 安装部署,实现数据库分片存储

    一.安装MySQL或MariaDB(本文以MariaDB为例) MySQL手动安装方法:点击查看 MariaDB安装: 1.下载MariaDB的repo $ vi /etc/yum.repos.d/M ...

  6. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

  7. Hadoop InputFormat 输入文件分片

    1. Mapper 与 Reducer 数量 对于一个默认的MapReduce Job 来说,map任务的数量等于输入文件被划分成的分块数,这个取决于输入文件的大小以及文件块的大小(如果此文件在 HD ...

  8. webuploader分片上传

    屁话不多说直接上主题; webuploader,sj(WebUploader 0.1.6)网上有下 powerUpload.js 自己写的基与楼上的插件 asp.net mvc/Api 实现效果: H ...

  9. Akka-Cluster(6)- Cluster-Sharding:集群分片,分布式交互程序核心方式

    在前面几篇讨论里我们介绍了在集群环境里的一些编程模式.分布式数据结构及具体实现方式.到目前为止,我们已经实现了把程序任务分配给处于很多服务器上的actor,能够最大程度的利用整体系统的硬件资源.这是因 ...

  10. LwIP Application Developers Manual1---介绍

    1.前言 本文主要是对LwIP Application Developers Manual的翻译 2.读者(应用开发手册的读者) 谁适合读这份手册 网络应用的开发者 想了解lwIP的网络应用开发者 阅 ...

随机推荐

  1. 新建oracle连接远程服务

    更新下面两个文件夹中的 D:\app\shisan\product\11.2.0\client_1\network\admin D:\ORACLE\product\11.2.0\dbhome_1\NE ...

  2. 【Codeforces 25C】Roads in Berland

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 用floyd思想. 求出来这条新加的边影响到的点对即可. 然后尝试更新点对之间的最短路就好. 更新之后把差值从答案里面减掉. [代码] #in ...

  3. B/S 开发和 C/S开发的区别

    导读:每天都从应用中心下载很多软件安装尝试,在自己的电脑上也装了很多软件,但是,就出现了一个问题,好比QQ,为什么有了APP,还要有网站应用呢?由此,结合到自己的学习,就衍生出一个问题:C/S 开发就 ...

  4. [CTSC2007]数据备份Backup 题解

    题意: 一维直线上有n个点,任取2k个互不相同的点组成k条链,求链的最小总长 思路: 1.最优时链不相交,相邻两两相减,将题目转化为:在n-1个数中取互不相邻的k个数使总和最小. 2.贪心取最小的“数 ...

  5. hust 1017 dancing links 精确覆盖模板题

    最基础的dancing links的精确覆盖题目 #include <iostream> #include <cstring> #include <cstdio> ...

  6. bzoj3875 【Ahoi2014】骑士游戏 spfa处理后效性动规

    骑士游戏 [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会 扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽. [问题描述] 在这个游戏中,JYY一共有两种攻 ...

  7. HDU 2629 Identity Card

    简单题 给出身份证号 判断住址 和出生年月 熟练字符串的操作 主要是string::substr(s, l)//s:起始位置 l长度 #include <iostream> #includ ...

  8. NodeJS仿WebApi路由

    用过WebApi或Asp.net MVC的都知道微软的路由设计得非常好,十分方便,也十分灵活.虽然个人看来是有的太灵活了,team内的不同开发很容易使用不同的路由方式而显得有点混乱. 不过这不是重点, ...

  9. 【ZJOI2017 Round1练习】D2T3 counter(线段树)

    题意: 思路: 预处理出b[i]代表i位置之前比a[i]小的数的个数 以每个数为结尾的组数是线段树中(1,a[i]-1) 对于a[i]换到最后,相当于线段树中(a[i]+1,n)-- 交换后b[i]又 ...

  10. java HashMap的使用

    java HashMap的使用 import java.util.HashMap; import java.util.Iterator; public class WpsklHashMap { pub ...