MongoDB分片集群(Sharding whith Replica Set)
MongoDB分片集群(Sharding whith Replica Set)
MongoDB Sharding Cluster是一种可以水平扩展的模式,在数据量很大时特给力,一直想研究一下,要构建一个MongoDB Sharding Cluster,需要三种角色:1. Shard Server: mongod实例,用于存储实际的数据块,实际生产环境中一个Shard Server角色可由几台机器组个一个Replica Set承担,防止主机单点故障。
2. Config Server: mongod实例,存储了整个Cluster Metadata,其中包括Chunk信息。
3. Route Server: mongos实例,前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。
Sharding架构图如下:
因为是实验环境,我这里只是用一台Linux服务器,基本信息如下:
1. 3个分片Sharding
2. 每一个分片由3个节点构成1主2备的Replica Set
3. 3个配置节点Configsvr
4. 1个路由节点Mongos
分片复制集A(三个分片节点构成一个复制集):127.0.0.1:10000 127.0.0.1:10001 127.0.0.1:10002
分片复制集B(三个分片节点构成一个复制集):127.0.0.1:20000 127.0.0.1:20001 127.0.0.1:20002
分片复制集C(三个分片节点构成一个复制集):127.0.0.1:30000 127.0.0.1:30001 127.0.0.1:30002
Configsvr(三个配置服务器节点):127.0.0.1:40000 127.0.0.1:40001 127.0.0.1:40002
Mongos(一个路由节点):127.0.0.1:50000
详细操作步骤如下:
1. 下载并安装MongoDB,并创建MongoDB用户
- tar zxvf mongodb-linux-i686-2.0.4.tgz -C /usr/local/
- mv /usr/local/mongodb-linux-i686-2.0.4/ /usr/local/mongodb/
- ln -s /usr/local/mongodb/bin/* /usr/bin/
- groupadd -g 20001 mongodb
- useradd -u 20001 -g mongodb mongodb
- su - mongodb
2. 创建相关目录
- mkdir -p /home/mongodb/data/shard1/r0
- mkdir -p /home/mongodb/data/shard1/r1
- mkdir -p /home/mongodb/data/shard1/r2
- mkdir -p /home/mongodb/data/shard1/config
- mkdir -p /home/mongodb/data/shard2/r0
- mkdir -p /home/mongodb/data/shard2/r1
- mkdir -p /home/mongodb/data/shard2/r2
- mkdir -p /home/mongodb/data/shard2/config
- mkdir -p /home/mongodb/data/shard3/r0
- mkdir -p /home/mongodb/data/shard3/r1
- mkdir -p /home/mongodb/data/shard3/r2
- mkdir -p /home/mongodb/data/shard3/config
|
评论暂时关闭