日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置MongoDB副本集分为4个步骤

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置MongoDB副本集分为4个步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

在詳細介紹配置MongoDB副本集之前,讓我簡要介紹一下它們:

  • 副本集是Mongodb數據庫提供的功能,可實現高可用性和自動故障轉移。
  • 它是一種傳統的主從配置,但具有自動故障轉移功能。
  • 基本上,它是mongod實例的組/集群,它們進行通信,相互復制以提供高可用性并進行自動故障轉移
  • 基本上,副本集中至少存在2個,最多可以存在12個mongod實例
  • 在副本集中,存在以下類型的服務器。 首先,一臺服務器始終是主要服務器。
    • Primary:存儲數據,所有寫/讀操作均從任何客戶端進行到該服務器。
  • 它提供了自動故障轉移功能,這意味著它無需人工干預即可將另一臺服務器設置為主服務器,并且具有內部機制來選舉新的主服務器。
  • 在副本集中,如果主服務器由于網絡錯誤而停機,或者副本集中的其他服務器無法訪問主服務器或主服務器無響應,則由所有服務器在內部觸發選舉機制以選舉新的主服務器,并且這是非常自動的。

在本文中,我將通過4個簡單的步驟向您展示3個成員/節點群集副本集的配置。 在此副本集配置中,我們將創建兩臺數據服務器,其中一臺將為主服務器,另一臺為輔助服務器,而另一臺非仲裁服務器。 因此,讓我們繼續按照以下4個步驟配置副本:

步驟1:設置副本集的每個實例

正如我在上一篇文章中討論的那樣,使用以下信息創建和設置3個新的mongodb服務器實例實例,但不要啟動這些服務器實例:

  • 服務器1
port = 27017directory path =<dir path>\ rs1E.g.directory structure : I:\workspace\mongo\rs1\bin
  • 服務器2
port = 26017directory path =<dir path>\ rs2E.g.directory structure I:\workspace\mongo\rs2\bin
  • 服務器3
port = 25017directory path =<dir path>\ rs2E.g.directory structure I:\workspace\mongo\rs3\bin

步驟2:修改mongodb.conf以包含副本集信息

編輯每個服務器的mongod.conf以包括以下屬性:

  • replSet =副本集的唯一名稱,賦予所有成員
  • rest =為管理網頁啟用休息界面

您可以為副本集指定任何名稱,但請確保所有成員名稱相同。 繼續給你想要的名字。 在這里,我使用的是“ damon”

例如,將以下內容附加到mongod.conf文件中

replSet=damon rest=true

第三步:啟動所有服務器

完成必要的配置后,繼續以任意順序啟動服務器

rs1 >> mongod -f \rs1\mongod.conf rs2 >> mongod -f \rs2\mongod.conf rs3 >> mongod -f \rs3\mongod.conf

步驟4:配置服務器以包含在副本集中

現在,所有服務器都已啟動,但它們沒有相互連接。 換句話說,它們不是副本集的一部分。 因此,為此,我們需要執行以下操作。 同樣,我們將創建兩個數據服務器,即一個主服務器,另一個輔助服務器和一個仲裁服務器。 現在,使用MongoDB二進制文件中提供的mongo shell連接到任何一臺服務器。

這里。 讓我們使用mongodb shell連接到服務器rs1

rs1 > /rs1/bin/mongo.exe --port 27017

之后,您將得到提示,請輸入mongo shell,如下圖所示:

對于副本配置,mongo shell提供了預定義的對象rs,該對象包含以下用于配置的功能:

  • initiate() =>在當前服務器中創建副本集配置
  • status() =>給出服務器所屬的副本集的當前狀態
  • add(serverInfo) =>在副本集中添加新服務器(作為參數提供)。
  • addArb(serverInfo) =>用于在副本集中添加仲裁器的專用功能

首先,我們需要在其中一臺服務器中創建副本集配置。 在mongo shell中執行以下命令:

> rs.initiate()

之后,您會在提示符下看到以下內容:

這將在本地為此服務器創建必要的副本集信息,并且您會注意到提示從初始的'>'變為'damon:STARTUP2>' ,這表明<replicaSetName:服務器的狀態>

您可以在shell提示符下輸入rs.status()來檢查副本集中有多少臺服務器:

如您所見,我們在副本集中僅添加了一個服務器,它是當前服務器,其狀態為“主要”。

檢查副本中成員的其他方法是使用瀏覽器地址欄中的以下URL http:// : / _replSet。 在我們的情況下,http:// localhost:28017 / _replSet
注意,這需要在配置文件中啟用rest = true(并且我們已經做到了!)。 這是檢查副本集中服務器狀態的首選方法。

現在,我們在副本服務器中添加了一個服務器,讓我們添加其余服務器。

對于add()和addArb()方法,我們將提供包含<machine / host-name>的字符串參數:<port-no-of-server>

(請注意,如果要使用計算機名,請在dos或bash shell中使用hostname命令)

rs.add(“<machine/host-name>:26017”)

rs.addArb(“<machine/host-name>:25017”)

讓我們檢查是否使用rs.status()命令添加了節點/成員:

或使用基于瀏覽器的:

在這里,我們配置了3節點副本集MongoDB數據庫集群。 盡管此信息可以應用于配置任何編號。 副本集中節點的數量。

參考: 設置MongoDB副本通過 JCG合作伙伴 Abhijeet Sutar在Another Java Duke博客上的四個步驟進行設置 。

翻譯自: https://www.javacodegeeks.com/2013/07/setup-mongodb-replica-set-in-4-steps.html

總結

以上是生活随笔為你收集整理的设置MongoDB副本集分为4个步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。