Mongodb實現複本集

來源:互聯網
上載者:User

轉載自 http://www.cnblogs.com/spnt/

既然使用Mongodb,就不得不用他的安全備份機制:複本集。

Mongodb複本集是什麼東西?

  通俗的講就是用多台機器進行同一資料的非同步同步,從而使多台機器擁有同一資料的多個副本,並且當主庫當掉時在不需要使用者幹預的情況下自動切換其他備份伺服器做主庫。而且還可以利用複本伺服器做唯讀伺服器,實現讀寫分離,提高負載。

需要指數的是:Mongodb的主從複製模式官方已經不在推薦使用了。

 

那麼該如何?呢?

 我用一台的機器的不同檔案夾來做下類比(生產環境下最好用不同的伺服器來做物理隔絕)。

我的檔案目錄是:

F:\mongodb1\

F:\mongodb2\

F:\mongodb3\

那現在開始操作。

以上就是啟動命令。

參數:port: Mongodb的監聽連接埠

         dbpath:資料檔案儲存路徑

     logpath:系統日誌存放路徑

         replSet :複本集名稱,我用的是test,其他的節點必須使用這個名字做複本集名稱。

        logappend:日誌的寫入模式是追加,不是預設的覆蓋模式。

同樣對目錄mongodb2,mongodb3使用以上命令,連接埠號碼分別是:2222,3333,如下:

 

各個Mongodb啟動以後,就只剩下一步了,把他們串在一起。(此處新開啟一個cmd來操作,所有的命令都在這裡執行,不要把這個關閉了)

首先通過執行:mongo --port 1111串連到Mongodb1的執行個體上

然後定義配置資訊:config_test,

最後通過rs.initiate(config_test)啟動複本集

至此整個複本集的配置已經完成。完成情況可通過rs.status()命令查看

這裡面的幾個參數說明下:

health:1   //1表明狀態是正常,0表明異常

state:1     // 1表明是primary,2表明是slave,即做備份的機器

從結果看現在是一台主庫,兩台備份。

當一台伺服器當掉會怎麼樣呢?

我們把mongodb1停掉,然後再運行rs.status(),如下

可以看到Mongodb已經當掉,這時候Mongodb3成為了主庫。

配置完成後就免不了要做維護,關於維護請看我下篇文章

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.