根據此前的學習,已經可以瞭解到MongoDB主要的幾種伺服器角色:
- Mongos,這是MongoDB群集的入口伺服器,主要承擔資料路由任務。它會根據配置的“片鍵”將資料分發到自己管理的MongoDB群集中;
- ConfigServer,該伺服器角色負責管理Mongos資料分區的依據,資料和片的對應關係以及相應的配置資訊(需要注意的是ConfigServer的個數必須為1或3)
- ShardServer,獨立的分區Mongod伺服器,併入到Mongos下統一管理,儲存分區的資料;
- ShardServer(repSet),複本集中的分區伺服器,每個複本集中至少需要兩個以上的ShardServer;
- 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