Home  >  Article  >  Database  >  MongoDB实战(12)Replica Sets + Sharding

MongoDB实战(12)Replica Sets + Sharding

WBOY
WBOYOriginal
2016-06-07 17:37:49930browse

MongoDBAuto-Sharding解决了海量存储和动态扩容的问题但离实际生产环境所需的高可靠、高可用还有些距离所以有了”ReplicaSets+Sharding”的解决方案。1、Shard:

MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题但离实际生产环境所需的高可
靠、高可用还有些距离所以有了” Replica Sets + Sharding”的解决方案。
1、Shard:
使用 Replica Sets确保每个数据节点都具有备份、自动容错转移、自动恢复能力。
2、Config:
使用3 个配置服务器确保元数据完整性
3、Route:
使用3 个路由进程实现负载平衡提高客户端接入性能
以下我们配置一个 Replica Sets + Sharding 的环境架构图如下

220644433.png

开放的端口如下

主机ip服务及端口

Server A192.168.3.231mongod shard1_1:27017
mongod shard2_1:27018
mongod config1:20000
mongs1:30000

Server B192.168.3.232mongod shard1_2:27017
mongod shard2_2:27018
mongod config2:20000
mongs2:30000

Server C192.168.3.233mongod shard1_3:27017
mongod shard2_3:27018
mongod config3:20000
mongs3:30000

 

创建数据目录


在Server A 上:

221548354.png

在Server B 上:

221741790.png

在Server C 上:

221901658.png

 

配置Replica Sets

1、配置shard1所用到的Replica Sets

在Server A 上:

224244412.png

在Server B 上:

224717560.png

在Server C 上:

224855515.png

用mongo 连接其中一台机器的27017 端口的mongod初始化Replica Sets“shard1”执行:

232313903.png

配置shard2所用到的Replica Sets

在Server A 上:

211014213.png

 在Server B 上:

211140565.png

在Server C 上:

211205307.png

 用mongo 连接其中一台机器的27018 端口的mongod,初始化Replica Sets “shard2”,执行:

211620854.png

 

 配置3 台Config Server

在Server A、B、C上执行:

212106298.png

 

配置3 台Route Process
在Server A、B、C上执行:

212840826.png

 

配置Shard Cluster

213355138.png

 

激活数据库及集合的分片

213620485.png

 

验证Sharding正常工作

 

连接到其中一台机器的端口30000 的mongos 进程,,并切换到test 数据库,以便添加测试数据

214155640.png

214240285.png

可以看到Sharding搭建成功了,跟我们期望的结果一致,至此我们就将Replica Sets与Sharding
结合的架构也学习完毕了。

 

 

本文出自 “phper-每天一点点~” 博客,请务必保留此出处

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn