MongoDB——主從複製&複本集

來源:互聯網
上載者:User

標籤:

       

       前面我說到了,MongoDB資料庫支援伺服器之間的資料複製。支援主從模式及伺服器之間的相互複製。目的當然是實現負載平衡與故障恢複。Mongo中內建了兩種技術:主從複製、複本集。下面就簡單介紹這兩種模式的配置。


一、    主從複製

       主從複製是一個簡單的資料庫同步備份的叢集技術。模型如下:


  


       需要注意:

       在資料庫叢集中要明確的知道誰是主伺服器,主伺服器只有一台。

       從伺服器要知道自己的資料來源,也就是自己的主伺服器是誰。

       --master用來明確主伺服器,--slave和—source來控制從伺服器。

  執行個體

       配置其實非常簡單,類似我們前面講到的Redis的主從複製,思路如下:

       我們現在起兩個MongoDB的資料庫執行個體,一個作為Master一個作為Slave,然後從Master存資料,然後看是否能從Slave中取出資料即可。步驟如下:

  步驟一:

  分別做好Master(用8888連接埠)和Slave(用7777連接埠)的服務端與用戶端的啟動bat檔案:

  

  


       Master的檔案內容依次如下:

       8888.conf:


  


       8888mongodbStartServer.bat:


  


       8888mongodb.bat:


  


       Slave的檔案內容如下:

       7777.conf:


  


  7777mongodbStartServer.bat:


  


  7777mongodb.bat:


  


  步驟二:

  雙擊Master的啟動bat檔案(8888mongodbStartServer.bat):


  


  雙擊Slave的啟動bat檔案(7777mongodbStartServer.bat):


  


  步驟三:

  雙擊Master的用戶端啟動bat檔案(8888mongodb.bat),並建立一個資料庫,同時插入資料:


  


  步驟四:

  雙擊Slave的用戶端啟動bat檔案(7777mongodb.bat),並查詢是否存在剛剛在Master中建立的資料庫、Collection與插入的兩條資料:


  


  這就說明,主從複製已配置成功。這裡還需要注意,Slave資料庫執行個體是不允許我們插入、修改資料的,我們只能操作Master資料庫伺服器,例如我們在Slave中插入一條資料,會報錯:


  


  執行個體的結構圖如下:    


二、    複本集

  與主從複製所能達到的效果類似。主從複製模型中的Master相當於複本集中的“活躍”節點;Slave相當於“備份”節點,如:


  


  1,表明A是活躍的,B、C是用於備份的;圖2表示,當A出現故障,這時候叢集根據權重演算法推選出B為活躍資料庫節點;圖3表示,當A恢複故障後,它自動變為了備份節點。

  與主從複製不同的是,主從複製中只有一個Master,當Master節點掛掉之後,所有的Slave節點無法自動變為Master,繼續提供服務。這時所有的 Slave也就會因連不上Master而無法繼續備份資料,直到它再次連到Master。

  而複本集中所有的節點都可以成為“活躍”節點(一開始是隨機推出的),噹噹前的活躍節點掛掉之後,叢集會立即從其它完好的備份節點中推選出一個節點作為“活躍節點”,整個複本集群不會停止備份服務。

  配置

       配置與主從複製的配置相似,這裡不再像上面那麼詳細的一步步介紹,直接給出大概配置:

       準備三套MongoDB的啟動配置:(監聽不同的連接埠)

  三個啟動配置(A/B/C.conf)如下:


  


  先啟動Mongo的三個服務端執行個體,並初始化複本集:


  


  然後,啟動Mongo的用戶端執行個體,啟動後可以看出哪個活躍節點,哪些是備份節點:


  

  

  然後就可以做類似“主從複製”的執行個體來驗證我們是否配置成功。

 

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

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.