日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MongoDB復(fù)制(副本集)
MongoDB 中的復(fù)制就是跨多個(gè)服務(wù)器同步數(shù)據(jù)的過程,復(fù)制提供了數(shù)據(jù)的冗余備份,在多個(gè)服務(wù)器中存儲(chǔ)數(shù)據(jù)副本,以此來提高數(shù)據(jù)的可用性,并可以保證數(shù)據(jù)的安全性。另外,復(fù)制還可以防止數(shù)據(jù)丟失,因?yàn)閺?fù)制允許您從硬件故障或服務(wù)中斷的過程中恢復(fù)數(shù)據(jù)。

為什么使用復(fù)制

下面列舉了幾個(gè)使用復(fù)制的好處:

  • 確保您數(shù)據(jù)的安全;
  • 保障數(shù)據(jù)的高可用性;
  • 數(shù)據(jù)恢復(fù);
  • 維護(hù)過程無需停機(jī)(例如備份、索引重建、壓縮);
  • 分布式讀取數(shù)據(jù);
  • 副本集對應(yīng)用程序是透明的。

復(fù)制的工作方式

MongoDB 通過使用副本集來實(shí)現(xiàn)復(fù)制。副本集是一組托管相同數(shù)據(jù)集的 mongod 實(shí)例。在副本中,一個(gè)節(jié)點(diǎn)是接收所有寫操作的主節(jié)點(diǎn),其余的所有實(shí)例,例如第二實(shí)例,都將應(yīng)用來自第一個(gè)實(shí)例的操作,以便它們具有相同的數(shù)據(jù)集。副本集只能有一個(gè)主節(jié)點(diǎn)。

  • 副本集是一組兩個(gè)或更多節(jié)點(diǎn)(通常最少需要 3 個(gè)節(jié)點(diǎn));
  • 在副本集中,一個(gè)節(jié)點(diǎn)是主要節(jié)點(diǎn),其余節(jié)點(diǎn)是從節(jié)點(diǎn);
  • 所有數(shù)據(jù)從主節(jié)點(diǎn)復(fù)制到從節(jié)點(diǎn);
  • 在自動(dòng)故障轉(zhuǎn)移或維護(hù)時(shí),將為主節(jié)點(diǎn)建立選舉,并選舉一個(gè)新的主節(jié)點(diǎn);
  • 恢復(fù)失敗的節(jié)點(diǎn)后,它再次加入副本集并用作輔助節(jié)點(diǎn)。

下圖展示了 MongoDB 復(fù)制的示意圖,其中客戶端應(yīng)用程序始終與主節(jié)點(diǎn)交互,然后主節(jié)點(diǎn)將數(shù)據(jù)復(fù)制到輔助節(jié)點(diǎn)。



圖:MongoDB復(fù)制示意圖

副本集功能:

  • N 個(gè)節(jié)點(diǎn)的集群
  • 任何一個(gè)節(jié)點(diǎn)都可以是主節(jié)點(diǎn)
  • 所有寫操作都在主節(jié)點(diǎn)上
  • 自動(dòng)故障轉(zhuǎn)移
  • 自動(dòng)恢復(fù)
  • 初選協(xié)商一致選舉

設(shè)置副本集

接下來我們來看一下如何將獨(dú)立的 MongoDB 實(shí)例轉(zhuǎn)換為副本集。要轉(zhuǎn)換為副本集,需要按照以下幾個(gè)步驟操作:

  • 關(guān)閉正在運(yùn)行的 MongoDB 服務(wù)器;
  • 通過指定 --replSet 選項(xiàng)啟動(dòng) MongoDB 服務(wù)器,--replSet 的基本語法如下所示:

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

【示例】在 27017 端口上啟動(dòng)名為 rs0 的 mongod 實(shí)例:

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0

現(xiàn)在啟動(dòng)命令提示符并連接到此 mongod 實(shí)例,在Mongo客戶端中,請使用 rs.initiate() 命令來啟動(dòng)新的副本集。要檢查副本集配置,請使用 rs.conf() 命令。要檢查副本集的狀態(tài),請使用 rs.status() 命令。

將成員添加到副本集

要將成員添加到副本集,需要在多臺(tái)計(jì)算機(jī)上啟動(dòng) mongod 實(shí)例?,F(xiàn)在使用 rs.add() 命令來啟動(dòng)一個(gè) mongo 客戶端,rs.add() 命令的基本語法如下:

>rs.add(HOST_NAME:PORT)

【示例】假設(shè)您的 mongod 實(shí)例名稱為 mongod1.net,并且它運(yùn)行在 27017 端口上。要將此實(shí)例添加到副本集,需要在 Mongo 客戶端中使用 rs.add() 命令。

>rs.add("mongod1.net:27017")

僅當(dāng)連接到主??節(jié)點(diǎn)時(shí),才能將 mongod 實(shí)例添加到副本集。要檢查您是否連接到主服務(wù)器,可以在 mongo 客戶端中使用 db.isMaster() 命令。


文章題目:MongoDB復(fù)制(副本集)
文章源于:http://www.dlmjj.cn/article/djhiheh.html