MongoDB集群搭建-分片

一.场景:

1,机器的磁盘不够用了。使用分片解决磁盘空间的问题。

2,单个mongod已经不能满足写数据的性能要求。通过分片让写压力分散到各个分片上面,使用分片服务器自身的资源。

3,想把大量数据放到内存里提高性能。和上面一样,通过分片使用分片服务器自身的资源。

二.搭建步骤:

1.准备服务器:

2.分片服务配置:【sharding】

上面准备的服务器有三台,每台机器上面都按照如下步骤安装分片服务,分片服务其实就是一个mongod进程;

下面我们就以192.168.0.106服务器为例子:

分片服务配置步骤:

(1)创建分片服务所需的文件目录:

配置目录:D:\mongodb_home\config

数据目录:D:\mongodb_home\data\shard

日志目录:D:\mongodb_home\logs

批处理目录:D:\mongodb_home\shells

(2)创建配置文件:(shard.conf文件)

目录:D:\mongodb_home\config\shard.conf

#shard.conf
dbpath=D:\mongodb_home\data\shard
logpath=D:\mongodb_home\logs\shard.log
journal=true
bind_ip=192.168.0.106
port=
shardsvr=true

(3)创建shell文件::(installShardServer.bat文件)

目录:D:\mongodb_home\shells\installShardServer.bat

#installShardServer.bat
d:
cd D:\mongodb_home\Server\3.6\bin
mongod.exe --config D:\mongodb_home\config\shard.conf --install

(4)安装分片服务:

目录:D:\mongodb_home\shells\installShardServer.bat

双击 installShardServer.bat来安装或启动服务;

分片注意:

其他两台机器,同上步骤配置即可。

配置文件更换ip地址即可;

3.配置服务配置:【config】

下面我们就以创建配置服务1为例子:

注意:mongodb3.6的特殊要求。

配置服务至少3个,只有一个的时候会报错误。

配置服务必须是副本集;

配置服务配置步骤:

(1)创建配置服务所需的目录:

配置目录:D:\mongodb_home\config

数据目录:D:\mongodb_home\data\config0

日志目录:D:\mongodb_home\logs

批处理目录:D:\mongodb_home\shells

(2)创建配置文件:

目录:D:\mongodb_home\data\config0\config0.conf

#config0.conf
dbpath=D:\mongodb_home\data\config0
logpath=D:\mongodb_home\logs\config0.log
journal=true
bind_ip=192.168.0.106
port=
replSet=testRs
configsvr=true

(3)创建shell文件:

目录:D:\mongodb_home\shells\installConfigServer0.bat

d:
cd D:\mongodb_home\Server\3.6\bin
mongod.exe --config D:\mongodb_home\config\config0.conf

(4)安装配置服务1:

目录:D:\mongodb_home\shells\installConfigServer0.bat

双击 installConfigServer0.bat来安装或启动服务;

配置服务注意:

配置服务使用端口来区分:

其他两个配置服务,同上步骤配置即可。

配置服务1端口:20000

配置服务2端口:21000

配置服务3端口:22000

4.路由服务配置:【route】

(1)创建路由服务所需的目录:

配置目录:D:\mongodb_home\config

日志目录:D:\mongodb_home\logs

(2)创建路由配置文件:

目录:D:\mongodb_home\config\route.conf

#route.conf
logpath=D:\mongodb_home\logs\route.log
bind_ip=192.168.0.106
port=
configdb=testRs/192.168.0.106:,192.168.0.106:,192.168.0.106:

注意:

路由配置文件中,不需要dbpath因为路由不存储数据。

路由配置文件中,最重要的是configdb,configdb是配置服务的地址

testRs是副本集的名称;

(3)创建路由shell文件:

目录:D:\mongodb_home\shells\InstallRouteServer.bat

#InstallRouteServer.bat
d:
cd D:\mongodb_home\Server\3.6\bin
mongos.exe --config D:\mongodb_home\config\route.conf

(4)安装路由服务:

目录:D:\mongodb_home\shells\InstallRouteServer.bat

双击 InstallRouteServer.bat来安装或启动服务;

(5)连接路由服务测试:

任意一台装mongodb的电脑即可:注意防火墙

通过mongodb中的mongo来连接路由服务【mongos】:

测试结果:

显示如下代码连接成功了!

5.分片:【核心】

(1)添加分片:

sh.addShard(“192.168.0.233:20000”) 
sh.addShard(“192.168.0.234:21000”) 
sh.addShard(“192.168.0.106:22000”)

(2)查看分片信息:

sh.status()

(3)数据库启用分片

School是数据库名称

sh.enableSharding('School')

(4)集合分片,设置片键

Name 集合中的键;

sh.shardCollection('School'.StudentInfo',{'Name':1})

MongoDB集群搭建-分片的更多相关文章

  1. Mongodb 集群搭建以及常见错误

    Mongodb 集群搭建以及常见错误 1 关于Replica Sets +Sharding(主从复制加分片)搭建,不这详细去说,网上有很多,大部分的例子就三台服务器之间做主从复制,分2个shard,架 ...

  2. MongoDB集群搭建-副本集

    MongoDB集群搭建-副本集 概念性的知识,可以参考本人博客地址: 一.Master-Slave方案: 主从: 二.Replica Set方案: 副本集: 步骤:(只要按步骤操作,100%成功) 1 ...

  3. Mongodb集群搭建之 Replica Set

    Mongodb集群搭建之 Replica Set Replica Set 中文翻译叫做副本集,不过我并不喜欢把英文翻译成中文,总是感觉怪怪的.其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了, ...

  4. mongodb集群搭建过程记录

    mongodb集群搭建花费比较长的时间,在此记录下过程,方便以后使用 一 软件环境 系统:ubuntu 18.04,mongodb 社区版4.2 https://docs.mongodb.com/ma ...

  5. mongodb集群搭建(分片+副本)

    原文地址:https://www.cnblogs.com/ityouknow/p/7344005.html 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...

  6. mongodb集群搭建(分片+副本)开启安全认证

    关于安全认证得总结: 这个讲述的步骤也是先创建超管用户,关闭服务,然后生成密钥文件,开启安全认证,启动服务 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...

  7. mongodb3.6集群搭建:分片+副本集

    mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...

  8. mongodb集群配置分片集群

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

  9. Mongodb集群搭建之 Sharding+ Replica Sets集群架构(2)

    参考http://blog.51cto.com/kaliarch/2047358 一.概述 1.1 背景 为解决mongodb在replica set每个从节点上面的数据库均是对数据库的全量拷贝,从节 ...

随机推荐

  1. springboot 中使用thymeleaf

    Spring Boot支持FreeMarker.Groovy.Thymeleaf和Mustache四种模板解析引擎,官方推荐使用Thymeleaf. spring-boot-starter-thyme ...

  2. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  3. 使用myeclipse开发java,解决java中继承JFrame类出现The type JFrame is not accessible due to restriction的问题

    在java中创建窗体,导入了java中的JFrame类,之后会出现错误: Access restriction: The type QName is not accessible due to res ...

  4. MonoDevelop Assembly Browser

    [MonoDevelop Assembly Browser] View -> Assembly Browser,通过此窗口可以查看Dll的反编译后的代码. 还有几款免费的替代产品可以使用, 虽然 ...

  5. linux: cmake(未完,待更新)

    参考: http://blog.csdn.net/netnote/article/details/4051620 http://blog.csdn.net/fan_hai_ping/article/d ...

  6. U3D OnDrawGizmos

    private void OnDrawGizmos() { Debug.Log("OnDrawGizmos"); Gizmos.DrawWireSphere(this.transf ...

  7. Lunix7 开放指定端口

    systemctl unmask firewalld.service 此时可以正常启动Firewall了. 接下来顺便讲述一下Firewall的安装,及一些简单配置.   查看状态,看电脑上是否已经安 ...

  8. 825. Friends Of Appropriate Ages有效的好友请求的数量

    [抄题]: Some people will make friend requests. The list of their ages is given and ages[i] is the age ...

  9. 621. Task Scheduler CPU任务间隔分配器

    [抄题]: Given a char array representing tasks CPU need to do. It contains capital letters A to Z where ...

  10. cactiez中文版10.1配置监控系统安装笔记

    1.安装虚拟机vmware_player2.创建虚拟机,设置桥接模式,内存4g,磁盘大小50G3.启动虚拟机,安装系统4.系统root 默认密码 CactiEZ5.配置网络静态IP,修改IP,网关等信 ...