win7環境下mongodb分區和移除

來源:互聯網
上載者:User

標籤:

本文主要介紹在一台win7電腦上類比mongo分區。如果有多台伺服器,可以將每個mongo部署在單台電腦上。我們將配置3個mongo分區,3個設定管理員,1個路由伺服器。如所示進行配置,介紹如何增加分區、移除分區。

   

    一.下載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,用下列語句啟用分區:

       db.runCommand({enablesharding:"blog"})

   

    2.要進行分區必須指定集合和片鍵,假設我們在部落格系統時間與作者上進行分區,執行語句如下:

     注意:我以"_id"為片鍵,db.runCommand({shardCollection:"blog.posts",key:{"_id":1}})

   

,    注意,blog是資料庫名,posts類似於關係型中的表名。如果要對一個已經包含資料的集合進行分區,資料片鍵上必須有索引。

    所有文檔也都必須有片索引值(且不能為null)。

    七、分區後mongodb的使用

     通過以上六步,mongodb的分區已經完成,可以直接使用了。

     以上我們建立了那麼多mongodb的port,那我們到底要連結mongodb的哪個連接埠呢?其實我們只使用mongos的連接埠(即,2222)就可以控制其他的進程。因為前面在mongos的配置資訊中就將其他設定管理員串到了mongos上了,所以我們像使用一個mongodb服務一樣去使用mongos就可以了。

    八、分區最佳化注意

    1.根據分區磁碟容量設定分區最大資料量執行下面的語句,增加一個分區且只使用20GB

    db.runCommand(‘addShard’:’127.0.0.1:2007’,’maxSize’:20000);

   

    2.在添加新分區時,應該在mongo不是高度負載情況下添加,否者mongo在遷移資料時,會把應用正在使用的資料移轉到硬碟中,這樣查詢就會非常滿。

    九.移除分區

    1.有時也需要移除分區,執行如下命令:

   

    此時draining started successfunlly 表示進行中分區移除,會將2006上資料移轉到其他分區上,這個過程非常耗時間。通過下面命令檢測是否已經完成移除。

   

    2.檢測是否完成移除分區,再次執行下來語句,返回completed,表示移除完成,移除後就可以對2006進行任何操作了,關機也無所謂了。

    3.如果使用了複本集,對某個複本集進行修改,應該串連複本集主伺服器進行修改相應配置。

參考:http://www.shangxueba.com/jingyan/2897358.html

win7環境下mongodb分區和移除

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.