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用户

  1. tar zxvf mongodb-linux-i686-2.0.4.tgz -C /usr/local/  
  2. mv /usr/local/mongodb-linux-i686-2.0.4/ /usr/local/mongodb/  
  3. ln -s /usr/local/mongodb/bin/* /usr/bin/  
  4.  
  5. groupadd -g 20001 mongodb  
  6. useradd -u 20001 -g mongodb mongodb  
  7.  
  8. su - mongodb 

    2. 创建相关目录

  1. mkdir -p /home/mongodb/data/shard1/r0  
  2. mkdir -p /home/mongodb/data/shard1/r1  
  3. mkdir -p /home/mongodb/data/shard1/r2  
  4. mkdir -p /home/mongodb/data/shard1/config  
  5.  
  6. mkdir -p /home/mongodb/data/shard2/r0  
  7. mkdir -p /home/mongodb/data/shard2/r1  
  8. mkdir -p /home/mongodb/data/shard2/r2  
  9. mkdir -p /home/mongodb/data/shard2/config  
  10.  
  11. mkdir -p /home/mongodb/data/shard3/r0  
  12. mkdir -p /home/mongodb/data/shard3/r1  
  13. mkdir -p /home/mongodb/data/shard3/r2  
  14. mkdir -p /home/mongodb/data/shard3/config    
  • 1
  • 2
  • 下一页

相关内容