注:本文是研究Mongodb分布式數(shù)據(jù)存儲的副產(chǎn)品,通過本文的相關(guān)步驟可以將一個大表中的數(shù)據(jù)分布到幾個mongo服務(wù)器上。
MongoDB的1.6版本中auto-sharding功能基本穩(wěn)定并可以嘗試放到生產(chǎn)環(huán)境下使用。因為其是auto-sharding,即mongodb通過mongos(一個集群環(huán)境配置工具)自動建立一個水平擴展的數(shù)據(jù)庫集群系統(tǒng),將數(shù)據(jù)庫分表存儲在sharding的各個節(jié)點上。
一個mongodb集群包括一些shards(包括一些mongod進程),mongos路由進程,一個或多個config服務(wù)器
(注:本文的測試用例需求64位的mongo程序,因為我在32位的mongo沒成功過)。
下面是一些相關(guān)詞匯說明:
Shards : 每一個shard包括一個或多個服務(wù)和存儲數(shù)據(jù)的mongod進程(mongod是MongoDB數(shù)據(jù)的核心進程)典型的每個shard開啟多個服務(wù)來提高服務(wù)的可用性。這些服務(wù)/mongod進程在shard中組成一個復(fù)制集
Chunks: Chunk是一個來自特殊集合中的一個數(shù)據(jù)范圍,(collection,minKey,maxKey)描敘一個chunk,它介于minKey和maxKey范圍之間。例如chunks 的maxsize大小是100M,如果一個文件達到或超過這個范圍時,會被切分到2個新的chunks中。當一個shard的數(shù)據(jù)過量時,chunks將會被遷移到其他的shards上。同樣,chunks也可以遷移到其他的shards上
Config Servers : Config服務(wù)器存儲著集群的metadata信息,包括每個服務(wù)器,每個shard的基本信息和chunk信息Config服務(wù)器主要存儲的是chunk信息。每一個config服務(wù)器都復(fù)制了完整的chunk信息。
接著看一下要配置的測試環(huán)境信息:
模擬2個shard服務(wù)和一個config服務(wù), 均運行在10.0.4.85機器上,只是端口不同
Shard1:27020
Shard2:27021
Config:27022
Mongos啟動時默認使用的27017端口
在C,D,E磁盤下分別建立如下文件夾:
mongodb\bin
mongodb\db
然后用CMD命令行依次打開相應(yīng)文件夾下的mongd文件:
c:\mongodb\bin\mongod --dbpath c:\mongodb\db\ --port 27020 d:\mongodb\bin\mongod --dbpath d:\mongodb\db\ --port 27021 e:\mongodb\bin\mongod --configsvr --dbpath e:\mongodb\db\ --port 27022 (注:config配置服務(wù)器)
啟動mongos時,默認開啟了27017端口
e:\mongodb\bin\mongos --configdb 10.0.4.85:27022
出處:CSDN
責任編輯:bluehearts
上一頁 下一頁 基于Mongodb進行分布式數(shù)據(jù)存儲 [2]
◎進入論壇網(wǎng)絡(luò)編程版塊參加討論
|