MongoDB之Replica Sets + Sharding

来源:互联网 发布:淘宝内衣真人秀怎么看 编辑:程序博客网 时间:2024/04/29 19:14
MongoDB Auto-Sharding 解决了海量存储和动态扩容的问题,但离实际生产环境所需的高可靠、高可用还有些距离,所以有了” Replica Sets + Sharding”的解决方案:
Shard:
    使用 Replica Sets,确保每个数据节点都具有备份、自动容错转移、自动恢复能力。
Config:
    使用 3 个配置服务器,确保元数据完整性
Route:
    使用 3 个路由进程,实现负载平衡,提高客户端接入性能
MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客
 开放端口如下:
MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客
 

配置 shard1 所用到的 Replica Sets

ServerA:

mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shard1_1 --logpath /data/shard1_1/shard1_1.log --logappend –fork

serverB

mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shard1_1 --logpath /data/shard1_1/shard1_1.log --logappend –fork

serverC:

mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shard1_1 --logpath /data/shard1_1/shard1_1.log --logappend --fork 


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

MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客
MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客
 

配置 shard2 所用到的 Replica Sets

同上,配置share2。

配置 台 Config Server

mongod --configsvr --dbpath /data/config --logappend --fork --port 20000 --logpath /data/config/config.log

配置 台 Route Process

mongos --configdb 192.168.3.231:20000,192.168.3.232:20000,192.168.3.233:20000 --port 30000 --chunkSize 1 --logpath /data/mongos.log --logappend --fork

配置 Shard Cluster

连接到其中一台机器的端口 30000 的 mongos 进程,并切换到 admin 数据库做以下配置
MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客
 
激活数据库及集合的分片
MongoDB之Replica Sets + Sharding - sheperd - 牧羊人的博客

PS: http://sheperd.blog.163.com/blog/static/1952551192011912111424237/
0 0