设置MongoDB副本集分为4个步骤
介紹
在詳細介紹配置MongoDB副本集之前,讓我簡要介紹一下它們:
- 副本集是Mongodb數據庫提供的功能,可實現高可用性和自動故障轉移。
- 它是一種傳統的主從配置,但具有自動故障轉移功能。
- 基本上,它是mongod實例的組/集群,它們進行通信,相互復制以提供高可用性并進行自動故障轉移
- 基本上,副本集中至少存在2個,最多可以存在12個mongod實例
- 在副本集中,存在以下類型的服務器。 首先,一臺服務器始終是主要服務器。
- Primary:存儲數據,所有寫/讀操作均從任何客戶端進行到該服務器。
- 它提供了自動故障轉移功能,這意味著它無需人工干預即可將另一臺服務器設置為主服務器,并且具有內部機制來選舉新的主服務器。
- 在副本集中,如果主服務器由于網絡錯誤而停機,或者副本集中的其他服務器無法訪問主服務器或主服務器無響應,則由所有服務器在內部觸發選舉機制以選舉新的主服務器,并且這是非常自動的。
在本文中,我將通過4個簡單的步驟向您展示3個成員/節點群集副本集的配置。 在此副本集配置中,我們將創建兩臺數據服務器,其中一臺將為主服務器,另一臺為輔助服務器,而另一臺非仲裁服務器。 因此,讓我們繼續按照以下4個步驟配置副本:
步驟1:設置副本集的每個實例
正如我在上一篇文章中討論的那樣,使用以下信息創建和設置3個新的mongodb服務器實例實例,但不要啟動這些服務器實例:
- 服務器1
- 服務器2
- 服務器3
步驟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數據庫集群。 盡管此信息可以應用于配置任何編號。 副本集中節點的數量。
翻譯自: https://www.javacodegeeks.com/2013/07/setup-mongodb-replica-set-in-4-steps.html
總結
以上是生活随笔為你收集整理的设置MongoDB副本集分为4个步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java开发中的常见危险信号
- 下一篇: 安卓音乐软件破解版(安卓音乐软件)