MongoDB Replica Set 配置

來源:互聯網
上載者:User

Replica Set 節點類型分為三種:

  • standard:常規節點,它儲存一份完整的資料副本,參與選舉投票,有可能成為primary節點;
  • passive:儲存了完整的資料副本,參與投票,不能成為primary節點;
  • arbiter:仲裁節點,只參與投票,不接收複製的資料,也不能成為primary節點。

本文配置使用2個常規節點和一個arbiter節點,arbiter節點由於不同步資料,所以負載會很小,部署對硬體沒有太大的要求。

假設192.168.1.211、192.168.1.212為常規節點,192.168.1.68為arbiter節點。三個節點上的mongodb都是用下面的設定檔,檔案存放在/etc/mongodb.cnf:

dbpath = /data/db/logpath = /data/log/m.loglogappend = trueport = 27017fork = truedirectoryperdb = truejournal = truereplSet = testrest = true

其中replSet 的 Id 為 test,這個值對應initiate中的”_id”,使用rest參數後可以在web管理介面中顯示Replica Set中其他mongodb執行個體的資訊。

使用命令

/usr/local/mongodb/bin/mongod --config /etc/mongodb.cnf

分別啟動三個機器上的mongodb執行個體,使用mongodb用戶端登陸兩個常規節點中的任何一個,執行如下命令:

rs.initiate({"_id" : "test", "members" : [{"_id" : 1, "host" : "192.168.1.211"},{"_id" : 2, "host" : "192.168.1.212"},{"_id" : 3, "host" : "192.168.1.68", "arbiterOnly" : true}]});或rs.initiate({"_id" : "test", "members" : [{"_id" : 1, "host" : "192.168.1.211"},{"_id" : 2, "host" : "192.168.1.212"}]});rs.addArb('192.168.1.68');

可以使用rs.conf()查看配置情況,rs.status()查看各個節點的狀態,經過一小段時間後,他們會選一台作為PRIMARY,其他的常規節點為SECONDARY,同時在js shell中看到提示符從“>”變為對應的 “PRIMARY>” 或 “SECONDARY>” 或 “ARBITER>”。可以在PRIMARY是通過rs.stepDown()來切換PRIMARY,執行此命令後會在剩餘的常規節點選一個來充當PRIMARY。

關於初始化中配置members的其他選擇性參數,可以到官網上查看,地址:http://www.mongodb.org/display/DOCS/Replica+Set+Configuration

相關文章

聯繫我們

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