搭建MongoDB主從複製(Master-Slave)集

  主從複製是MongoDB數據庫一種特性,它通過數據備份來提高數據庫的容災能力。但是由於主從複製並不能自動實現故障轉移的特性,MongoDB在1.6版本開發了新的複製模式:Replicate Sets。MongoDB建議不要再使用Master-Slave模式對數據進行備份。但是對於學習來說,我們仍可以瞭解一下MongoDB的主從複製模式。

  1. 從MongoDB官網下載最新版的MongoDB,解壓到某個目錄。

  2.在MongoDB文件夾下,創建/data/master和/data/slave目錄。

  3.啓動主節點(Master)的服務器,運行下面的命令:
mongod --dbpath /data/master --port 10000 --master

  執行完上面的命令後,mongodb會在data/master下生成數據文件和日誌文件。

  4.啓動從節點(Slave)的服務器,運行下面的命令:

mongod --dbpath /data/slave --port 10001 --slave --source localhost:10000

  執行完上面命令後,同樣會在data/slave下生成數據文件和日誌文件,並在local數據庫下的sources表下創建與master的關聯信息

  5.測試主從複製(Master-Slave)是否生效。

  使用“mongo localhost:10000”打開Master數據庫,插入一條測試語句:
  db.test.find();
  db.test.insert({“host”:“1000”});
  db.test.find();
    
  使用“mongo localhost:10001”打開Slave數據庫,運行db.test.find()會發現查詢出來的數據與從Master數據庫中查詢的數據相同。

  運行db.test.insert({"girl":"lili"}); 則會顯示not master。這是因爲主從複製模式只允許從Master數據庫更新數據,而不允許從Slave數據庫更新數據。正因此,當Master發生故障時,從節點無法轉換爲主節點的劣勢就暴漏了出來。

    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章