風語·深蓝

Agile Methodology, HeadStorm And MindMap, they will change me.

导航

根据此前的学习,已经可以了解到MongoDB主要的几种服务器角色:

  1. Mongos,这是MongoDB群集的入口服务器,主要承担数据路由任务。它会根据配置的“片键”将数据分发到自己管理的MongoDB群集中;
  2. ConfigServer,该服务器角色负责管理Mongos数据分片的依据,数据和片的对应关系以及相应的配置信息(需要注意的是ConfigServer的个数必须为1或3)
  3. ShardServer,独立的分片Mongod服务器,并入到Mongos下统一管理,存储分片的数据;
  4. ShardServer(repSet),副本集中的分片服务器,每个副本集中至少需要两个以上的ShardServer;
  5. ArbiterServer,副本集中的仲裁服务器,每个副本集中至少需要一个ArbiterServer;

参见下图,我们需要部署两个Mongos入口,3个ConfigServer,一个独立的ShardServer和一个RepSet(包含两个ShardServer和一个ArbiterServer),一共需要9个mongod实例。

决定把这8个实例分别部署到3台电脑上(一台物理主机,两台虚拟机)

Physical Server(192.168.111.11)

  • ConfigServer-I(D盘)
    mongod --configsvr --dbpath=d:\mongodb\db --port 2000
  • ShardServer(C盘)
    mongod –dbpath=c:\mongodb\db –port 4000
  • ArbiterServer(E盘)
    mongod --dbpath=e:\mongodb\db –port 4004 –replSet superlab/192.168.111.111:4000

Virtual Server-I(192.168.111.111)

  • ConfigServer-II(D盘)
    mongod --configsvr --dbpath=d:\mongodb\db --port 2000
  • Mongos(C盘)
    mongos --port 8848 --configdb=192.168.111.111:2000,192.168.111.222:2000,192.168.111.11:2000(C盘)
  • ShardServer(repSet) (E盘,磁盘空间需要大于2G)
    mongod --dbpath=e:\mongodb\db --port 4000 --replSet HALab/192.168.111.222:4000

Virtual Server-II(192.168.111.222)

  • ConfigServer-III(D盘)
    mongod --configsvr --dbpath=d:\mongodb\db --port 2000
  • Mongos(C盘)
    mongos --port 8848 --configdb=192.168.111.111:2000,192.168.111.222:2000,192.168.111.11:2000(C盘)
  • ShardServer(repSet) (E盘,磁盘空间需要大于2G)
    mongod --dbpath=e:\mongodb\db --port 4000 --replSet HALab/192.168.111.111:4000