①配置服务器

在大型的集群中,建议配置3台配置服务器,就足够用了。启动配置服务器的方式:

1:先创建几个存放数据的文件夹,比如在前面的dbs下面创建confdb文件夹,然后在confdb下面创建confdb1,confdb2,confdb3文件夹;同理在前面的logs下面创建conflogs文件夹

2:然后分别启动这三个配置服务器,使用--configsvr指明是配置服务器,如下:

./mongod --configsvr --dbpath ../dbs/confdb/confdb1 --logpath ../logs/conflog/conflog1 --fork --port 30001

./mongod --configsvr --dbpath ../dbs/confdb/confdb2 --logpath ../logs/conflog/conflog2 --fork --port 30002

./mongod --configsvr --dbpath ../dbs/confdb/confdb3 --logpath ../logs/conflog/conflog3 --fork --port 30003

3:--configsvr默认的端口为27019,默认的数据目录为/data/configdb,可以使用--dbpath和--port自己定义。

4:注意不要使用--replSet选项,配置服务器不是副本集成员。Mongos会向所有的3台配置服务器发送写请求,并确保3台服务器拥有相同的数据。

②启动mongos进程

1:./mongos --configdb localhost:30001,localhost:30002,localhost:30003 --logpath ../logs/conflog/mongoslog --fork

2:可以启动任意多个mongos,通常是一个应用服务器使用一个mongos,也就是说mongos通常与应用服务器运行在一个机器上

3:mongos的默认端口是27017,可以用chunkSize来指定块的大小,默认是200M

③将副本集转换成为分片

1:如果没有副本集,按照前面讲的创建并初始化一个;如果有一个副本集,就打开相应的服务器,把副本集运行起来

2:./mongo localhost:27017

use admin

3:然后连接到mongos,把副本集转换成为分片,示例如下:

sh.addShard("myrepl/127.0.0.1:20001,127.0.0.1:20002");

不用把所有副本集的成员都写出来,mongos会自动检查整个副本集。副本集的名称myrepl就用作了分片的名称。

4:使用sh.status()查看状态,会发现整个副本集里面的服务都加入进来了。

5:注意:添加分片过后,客户端应该连接mongos进行操作,而不是连接副本集了。

6:也可以创建单mongod服务器的分片,但不建议在生产环境中使用

7:至此一个分片就创建好了,然后可以重复步骤,创建一个新的副本集,加入到分片中来

④数据分片

需要明确指定分片的数据库和集合,MongoDB才会对数据进行自动分片。

1:对数据库启用分片

use admin

sh.enableSharding("sd1");   --数据库名

2:然后指定分片的集合,还有分片的键,如果对已经存在的集合进行分片,那么指定的这个分片键上必须有索引;如果集合不存在,mongos会自动在分片键上创建索引。例如:

sh.shardCollection("sd1.users",{"userId":1});--{"userId":1}分片键

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

第42章:MongoDB-集群--Sharding(分片)--单机的搭建的更多相关文章

  1. 第41章:MongoDB-集群--Sharding(分片)

    ①Sharding分片概念 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载. 分片是每个分 ...

  2. Mongodb集群与分片 1

    分片集群   Mongodb中数据分片叫做chunk,它是一个Collection中的一个连续的数据记录,但是它有一个大小限制,不可以超过200M,如果超出产生新的分片.   下面是一个简单的分片集群 ...

  3. mongodb 集群部署--分片服务器搭建

    部署分片服务器 1.分片 为了突破单点数据库服务器的I/O能力限制,对数据库存储进行水平扩展,严格地说,每一个服务器或者实例或者复制集就是一个分片. 2.优势 提供类似现行增·长架构 提高数据可用性 ...

  4. MongoDB集群之分片

    原文:点击打开链接 MongoDB分片 分片(sharding)是将数据拆分,将其分散在不同的机器上的过程.MongoDB支持自动分片 片键(shard key)设置分片时,需要从集合里面选一个键,用 ...

  5. mongodb集群配置分片集群

    测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...

  6. Mongodb集群与分片 2

    前面我们介绍了简单的集群配置实例.在简单实例中,虽然MongoDB auto-Sharding解决了海量存储问题,和动态扩容问题,但是离我们在真实环境下面所需要的高可靠性和高可用性还有一定的距离. 下 ...

  7. MongoDB集群之分片技术应用 —— 学习笔记

    课程链接:https://www.imooc.com/learn/501 一.什么是分片? 分片:将数据进行2拆分,将数据水平的分散到不同的服务器上. 二.为什么要分片? 架构上:读写均衡.去中心化 ...

  8. 第43章:MongoDB-集群--Sharding(分片)--多机的搭建

    ①环境准备 服务器规划 服务器[192.168.0.75] 服务器[192.168.0.84] 服务器[192.168.0.86] mongos mongos mongos config server ...

  9. ubuntu docker 下mongodb集群和分片

    首先我们计划启动了三个mongo服务:master,salve,arbiter 1.准备工作 新建文件夹如图(每个文件夹下面有db和configdb文件夹): 生成认证文件并修改权限 openssl ...

随机推荐

  1. php解析excel文件

    public static function getStaffByXlsx($path) { /*dirname(__file__): 当前代码所在的目录,$path: ”/文件名“ */ $PHPR ...

  2. Dubbo源码分析

    Dubbo源码分析1 Dubbo源码分析2 dubbo源码阅读:rpc请求处理流程(1) 架构设计:系统间通信(17)——服务治理与Dubbo 中篇(分析) 13. Dubbo原理解析-注册中心之Zo ...

  3. win10 安装 oracle 11g

    在安装文件的/stage/cvu文件夹下面找到文件 cvu_prereq.xml文件 64位添加红色部分 32位添加蓝色部分   ............... </OPERATING_SYST ...

  4. js day01

    一)什么是JavaScript[以下简称JS] JS是 (1)基于对象 JS本身就有一些现成的对象可供程序员使用,例如:Array,Math,String... JS并不排除你可以自已按一定的规则创建 ...

  5. 机器学习中的算法(2)-支持向量机(SVM)基础

    版权声明:本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gma ...

  6. Windows下用VS2015+MSYS编译OpenH264

    因为项目用到了OpenH264,编译的过程不想做过多研究,搜了下,有网页可以参考,遂记录下来,并在后面做一些补充. 原帖地址:http://blog.csdn.net/dbyoung/article/ ...

  7. idea常用快捷键及操作

    ctrl+j  ===== 智能提示 可用模版及关键字 ctrl+p ===== 显示方法可填入的参数 ctrl+space ===== 补全提示项目中可用的变量 ctrl+shift+j  ==== ...

  8. ES6中的let命令

    ES6新增了let命令,用于声明变量.其用法类似var,区别是使用let命令声明的变量只在当前代码块有效. for循环的计数器就很适合使用let命令. var arr= [1,2,3,4,5]; fo ...

  9. 动态创建js脚本和 css样式

    //1.动态添加外部js文件 function loadScript(url){ var script = document.createElement("script"); sc ...

  10. day37 异步回调和协程

    异步回调 """ 异步任务使用场景 爬虫 1.从目标站点下载网页数据 本质就是HTML格式字符串 2.用re从字符串中提取出你需要的数据 ""&quo ...