標籤:style blog http ar os 使用 sp strong 檔案
本文主要介紹在一台win7電腦上類比mongo分區。如果有多台伺服器,可以將每個mongo部署在單台電腦上。我們將配置3個mongo分區,3個設定管理員,1個路由伺服器。如所示進行配置,介紹如何增加分區、移除分區。
一.下載mongodb
:http://www.mongodb.org/
二.下載windows zip版本,解壓到一個目錄中,並且複製7份,命名如:
三.分別在bin目錄下建立 config.bat檔案 檔案內容如下列表格中所述。
注意在mongodb_xxxx目錄下建data檔案夾
註:路由配置中:mongos --port 2222 --configdb 127.0.0.1:2001,127.0.0.1:2002,127.0.0.1:2003
表示將路由器與設定管理員串連起來,使得他們自己可以認識對方。
四.啟動:分別按照下列順序啟動mongo
1.點擊設定管理員1的config.bat,啟動配置
2.點擊設定管理員2的config.bat,啟動配置
3.點擊設定管理員3的config.bat,啟動配置
4.點擊路由器1的config.bat,啟動路由服務
5.點擊分區1的config.bat,啟動分區
6.點擊分區2的config.bat,啟動分區
7.點擊分區3的config.bat,啟動分區
註:啟動完分區後,分區與路由之間還沒有建立串連,他們是獨立的,通過下面一步增加分區。
五.進入cmd命令終端,執行下列語句,client串連mongos,注意用admin串連
六.通過執行addShard命令增加分區,命令如下,增加2004,2005,2006連接埠的分區
七.為分區增加資料集合,測試分區
1.我們設定集合資料庫名為:blog,用下列語句啟用分區:
2.要進行分區必須指定集合和片鍵,假設我們在部落格系統時間與作者上進行分區,執行語句如下:
注意,blog是資料庫名,posts類似於關係型中的表名。如果要對一個已經包含資料的集合進行分區,資料片鍵上必須有索引。
所有文檔也都必須有片鍵值(且不能為null)。
八.分區最佳化注意
1.根據分區磁碟容量設定分區最大資料量執行下面的語句,增加一個分區且只使用20GB
db.runCommand(‘addShard’:’127.0.0.1:2007’,’maxSize’:20000);
2.在添加新分區時,應該在mongo不是高度負載情況下添加,否者mongo在遷移資料時,會把應用正在使用的資料移轉到硬碟中,這樣查詢就會非常滿。
九.移除分區
1.有時也需要移除分區,執行如下命令:
此時draining started successfunlly 表示進行中分區移除,會將2006上資料移轉到其他分區上,這個過程非常耗時間。通過下面命令檢測是否已經完成移除。
2.檢測是否完成移除分區,再次執行下來語句,返回completed,表示移除完成,移除後就可以對2006進行任何操作了,關機也無所謂了。
3.如果使用了複本集,對某個複本集進行修改,應該串連複本集主伺服器進行修改相應配置。
一.mongodb分區之win7環境下類比多節點添加與移除分區