分片就是水準的擴充,将資料分拆到不同的機器上,以達到存儲更多的資料,處理更大的負載。可以標明将按照指定的文檔鍵值進行分片。
整體部署方案:
啟動三個分片服務,兩個做資料存儲,另一個作為config,
配置分片的副本集,建立管理者使用者,關閉mongod,打開keyfile,啟動mongos,配置分片服務。
分片一般有三個組成部分:
分片服務(Shard Server),mongod 執行個體,2個以上,負責存儲實際的資料分片,生産環境中一個Shard Server可由幾台伺服器組成一個Replica Set代替,避免主機單點故障;
路由服務(Routing Process),mongos執行個體,1個以上,它負責管理分片,用戶端由此前端路由接入,且讓整個叢集看起來像單一資料庫,用戶端應用可以透明使用,Routing Process不存儲資料,資料來自Config Server;
配置服務(Config Server),mongod 執行個體,1個以上,負責存儲整個叢集的配置資訊:即資料和片的對應關系。
因為測試資源有限, 采取三台虛拟機的方式,
分片的架構圖如下:

192.168.100.101所有配置如下:
192.168.100.102所有配置如下:
192.168.100.103所有配置如下:
openfile 可以使用指令生成:
確定每台機器的keyfile一緻
依次按照上面配置檔案的内容建立配置檔案和存儲目錄日志目錄
建立完成依次啟動所有的mongod節點
注意此時要把keyfile選項注釋掉,否則啟動之後未建立角色就要認證,無法進入操作
啟動之後依次連接配接每個分片的主執行以下操作:
依次執行成功之後,
停止所有的mongod節點:
開啟keyfile
之後依次啟動mongod節點
然後啟動mongos節點
連接配接mongos節點
至此分片配置完成。