MongoDB集群搭建-分片
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集群搭建-分片的更多相关文章
- Mongodb 集群搭建以及常见错误
Mongodb 集群搭建以及常见错误 1 关于Replica Sets +Sharding(主从复制加分片)搭建,不这详细去说,网上有很多,大部分的例子就三台服务器之间做主从复制,分2个shard,架 ...
- MongoDB集群搭建-副本集
MongoDB集群搭建-副本集 概念性的知识,可以参考本人博客地址: 一.Master-Slave方案: 主从: 二.Replica Set方案: 副本集: 步骤:(只要按步骤操作,100%成功) 1 ...
- Mongodb集群搭建之 Replica Set
Mongodb集群搭建之 Replica Set Replica Set 中文翻译叫做副本集,不过我并不喜欢把英文翻译成中文,总是感觉怪怪的.其实简单来说就是集群当中包含了多份数据,保证主节点挂掉了, ...
- mongodb集群搭建过程记录
mongodb集群搭建花费比较长的时间,在此记录下过程,方便以后使用 一 软件环境 系统:ubuntu 18.04,mongodb 社区版4.2 https://docs.mongodb.com/ma ...
- mongodb集群搭建(分片+副本)
原文地址:https://www.cnblogs.com/ityouknow/p/7344005.html 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...
- mongodb集群搭建(分片+副本)开启安全认证
关于安全认证得总结: 这个讲述的步骤也是先创建超管用户,关闭服务,然后生成密钥文件,开启安全认证,启动服务 相关概念 先来看一张图: 从图中可以看到有四个组件:mongos.config server ...
- mongodb3.6集群搭建:分片+副本集
mongodb是最常用的noSql数据库,在数据库排名中已经上升到了前五.这篇文章介绍如何搭建高可用的mongodb(分片+副本)集群. 在搭建集群之前,需要首先了解几个概念:路由,分片.副本集.配置 ...
- mongodb集群配置分片集群
测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...
- Mongodb集群搭建之 Sharding+ Replica Sets集群架构(2)
参考http://blog.51cto.com/kaliarch/2047358 一.概述 1.1 背景 为解决mongodb在replica set每个从节点上面的数据库均是对数据库的全量拷贝,从节 ...
随机推荐
- linux系统构架 - LB集群之LVS的DR设置
在lvs的nat模式的基础上 1.清空ipvsadm规则 ipvsadm -C 查看 ipvsadm -ln 2.清空iptables规则 iptables -t nat -F 3.修改rs的网卡配置 ...
- python算法之快速排序
快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所 ...
- shell编程——流控制case和select
在shell编程里有时候需要出现交换界面,让使用者来选择要执行的功能,如下面所示,这时候就需要用到case和select进行配合 请选择功能: 1) 退出 2) 系统升级 3) 防火墙配置 4) to ...
- 关于SharePoint 2016
在刚刚过去的Ignite 2015技术会议上,微软发布了一些有关SharePoint 2016的消息.下面是对相关消息的一个简短总结: 1.首先,本地部署版本的SharePoint 2016还会有,嗯 ...
- golang怎么使用redis,最基础的有效的方法
最近在学GO语言,我自己也喜欢使用redis,于是乎就顺便把go操作redis的方法也给学了,有个第三方包,在GitHub上面找的 go get github.com/alphazero/Go-Red ...
- 利用Fiddler对Android模拟器网络请求进行抓包
安装使用Fiddler 下载安装Fiddler的方法这里就略过了,一路Next就行了.装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了.Fiddler默认的代理地址是127.0 ...
- nodemon 的坑
1. 我的系统是ubuntu18.04.2 的 在使用过程中不知道什么为题 nodemon 运行的项目不在前台打印了项目, 我监听的端口 9302 一直在运行, 前台看不到 我想停止掉用 ps -ef ...
- JLRoute 使用
http://zhoulingyu.com/2016/01/03/iOS%E2%80%94%E2%80%94Scheme%E6%98%AF%E4%BB%80%E4%B9%88%E3%80%81%E6% ...
- http和socket之长连接和短连接区别(转)
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应 ...
- rtx 导出所有部门和用户
1>添加Interop.RTXServerApi.dll的引用 2>RTXServerApi.RTXObjectClass和RTXServerApi.RTXObject实现一样,建议使用R ...