1. 程式人生 > >mongoDB 的分片技術 shard

mongoDB 的分片技術 shard

mongodb的分片技術 ,是把一個數據庫中的資料,分別儲存在不同的伺服器上,從而減小單個伺服器磁碟的壓力

下面 以一個圖來說明該技術的拓補結構

 

二.規化

這裡我們 用兩臺機來做 shard 伺服器 (分別是:127.0.0.1:27017和127.0.0.1:27018)再用一臺來做 configsvr 伺服器(127.0.0.1:27020) ,並在其上面開啟mongos路由服務

三.實現步驟

1.開啟三臺伺服器( 兩臺shard,一臺configsvr)

>./mongod --dbpath   '/home/m17'   --logpath   '/home/mlog/m17.log'   --fork  --port  27017 //shard伺服器

>./mongod --dbpath   '/home/m18'   --logpath   '/home/mlog/m18.log'   --fork  --port  27018 //shard伺服器

>./mongod --dbpath   '/home/m20'   --logpath   '/home/mlog/m20.log'   --fork  --prot  27020 --configsvr //最後一個選項是說明這臺伺服器是用來做configsvr

2.告知路由服務,和configsvr 建立連線(mongos 服務我們這裡指定在30000埠上,可以根據需要自已指定)

在 27020 的伺服器上開啟mongos服務,命令出下

>./mongos --logpath '/home/mlog/m30000.log'   --fork --port  30000   --configdb  '127.0.0.1:27020'  //這裡指定了mongos的configsvr伺服器的地址

3.讓路由器mongos和shard資料庫建立連線

mongos>  sh.addShard(127.0.0.1:27017) //使路由器和 shard(27017) 建立連線

mongos>  sh.addShard(127.0.0.1:27018) ///使路由器和 shard(27018) 建立連線