真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

配置MongoDB復(fù)制集-創(chuàng)新互聯(lián)

什么是復(fù)制集?

復(fù)制集是額外的數(shù)據(jù)副本,是跨多個(gè)服務(wù)器同步數(shù)據(jù)的過(guò)程,復(fù)制集提供了冗余并增加了數(shù)據(jù)可用性,通過(guò)復(fù)制集可以對(duì)硬件故障和中斷的服務(wù)進(jìn)行恢復(fù)。
復(fù)制集的優(yōu)勢(shì)如下:

青川網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,青川網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為青川近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的青川做網(wǎng)站的公司定做!
  • 讓數(shù)據(jù)更安全
  • 高數(shù)據(jù)可用性(24*7)
  • 災(zāi)難恢復(fù)
  • 無(wú)停機(jī)維護(hù)(如備份、索引重建、故障轉(zhuǎn)移)
  • 讀縮放(額外的副本讀?。?/li>
  • 副本集對(duì)應(yīng)用程序是透明的

復(fù)制集工作原理

MongoDB的復(fù)制集至少需要兩個(gè)節(jié)點(diǎn)。其中一個(gè)是主節(jié)點(diǎn)(Primary),負(fù)責(zé)處理客戶端的請(qǐng)求,其余的都是從節(jié)點(diǎn)(Secondary),負(fù)責(zé)復(fù)制主節(jié)點(diǎn)上的數(shù)據(jù)。
MongoDB各個(gè)節(jié)點(diǎn)常見(jiàn)的搭配方式為:一主一從或一主多從。主節(jié)點(diǎn)記錄其上的所有操作到oplog中,從節(jié)點(diǎn)定期輪詢主節(jié)點(diǎn)獲取這些操作,從而保證從節(jié)點(diǎn)的數(shù)據(jù)與主節(jié)點(diǎn)一致。
客戶端在主節(jié)點(diǎn)寫(xiě)入數(shù)據(jù),在從節(jié)點(diǎn)讀取數(shù)據(jù),主節(jié)點(diǎn)與從節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互保障數(shù)據(jù)的一致性。如果其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障,其他節(jié)點(diǎn)馬上會(huì)將業(yè)務(wù)接過(guò)來(lái)而無(wú)須停機(jī)操作。
復(fù)制集特點(diǎn)如下:

  • N個(gè)節(jié)點(diǎn)的群集
  • 任何節(jié)點(diǎn)可作為主節(jié)點(diǎn)
  • 所有寫(xiě)入操作都在主節(jié)點(diǎn)上
  • 自動(dòng)故障轉(zhuǎn)移
  • 自動(dòng)恢復(fù)

MongoDB復(fù)制集部署

創(chuàng)建多實(shí)例

如何創(chuàng)建多實(shí)例,在我之前的博客中已經(jīng)寫(xiě)過(guò),可以參考Yum安裝MongoDB及數(shù)據(jù)庫(kù)管理每個(gè)實(shí)例創(chuàng)建時(shí)都應(yīng)該先創(chuàng)建數(shù)據(jù)文件目錄(mongo)和日志文件(mongod.log),同時(shí)在修改配置文件時(shí)要注意修改使用不同的端口號(hào)在做復(fù)制集時(shí),我們要多修改一個(gè)參數(shù),replication的參數(shù)值,并保證多個(gè)實(shí)例的該參數(shù)值都保持一致根據(jù)項(xiàng)目要求,需創(chuàng)建額外三個(gè)實(shí)例,加上原有的一個(gè)實(shí)例,一共四個(gè)實(shí)例。
我在做實(shí)驗(yàn)的時(shí)候發(fā)現(xiàn),MongoDB中對(duì)配置文件的格式也有嚴(yán)格要求,在對(duì)replication參數(shù)值進(jìn)行修改時(shí)要特別注意

replication:
  replSetName: chenrs      //該行內(nèi)容需在行首空出兩個(gè)空格,不空格或者多空格都會(huì)導(dǎo)致服務(wù)啟動(dòng)失敗

配置MongoDB復(fù)制集
項(xiàng)目示意圖如下:
配置MongoDB復(fù)制集

初始化配置復(fù)制集

創(chuàng)建復(fù)制集

我們先配置包含三個(gè)節(jié)點(diǎn)的復(fù)制集,多出來(lái)的一個(gè)節(jié)點(diǎn),會(huì)在接下來(lái)再做一個(gè)節(jié)點(diǎn)添加的操作

mongo
chen={"_id":"chenrs","members":[{"_id":0,"host":"172.16.10.27:27017"},{"_id":1,"host":"172.16.10.27:27018"},{"_id":2,"host":"172.16.10.27:27019"}]}

配置MongoDB復(fù)制集

初始化復(fù)制集

在初始化復(fù)制集時(shí),要確保從節(jié)點(diǎn)沒(méi)有數(shù)據(jù),不然在初始化以后會(huì)造成從節(jié)點(diǎn)服務(wù)器的數(shù)據(jù)丟失。

rs.initiate(chen)

配置MongoDB復(fù)制集

查看復(fù)制集中各節(jié)點(diǎn)狀態(tài)
chenrs:SECONDARY> rs.status()
{
    "set" : "chenrs",
    "date" : ISODate("2018-07-14T14:40:20.756Z"),
         ···     //省略部分內(nèi)容
    "members" : [
        {
            "_id" : 0,
            "name" : "172.16.10.27:27017",
            "health" : 1,             //健康值為1,代表該節(jié)點(diǎn)處于運(yùn)行良好狀態(tài)
            "state" : 1,               //1代表主
            "stateStr" : "PRIMARY",   //處于peimary狀態(tài)
         ···     //省略部分內(nèi)容
        },
        {
            "_id" : 1,
            "name" : "172.16.10.27:27018",
            "health" : 1,
            "state" : 2,              //2代表從
            "stateStr" : "SECONDARY", //處于secondary狀態(tài)
        ···     //省略部分內(nèi)容
        },
        {
            "_id" : 2,
            "name" : "172.16.10.27:27019",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
        ···     //省略部分內(nèi)容
        }
}
chenrs:PRIMARY>            //此時(shí)節(jié)點(diǎn)狀態(tài)已經(jīng)發(fā)生轉(zhuǎn)變

節(jié)點(diǎn)管理(在primary上做)

添加節(jié)點(diǎn)
rs.add("172.16.10.27:27020")

配置MongoDB復(fù)制集
配置MongoDB復(fù)制集

刪除節(jié)點(diǎn)
rs.remove("172.16.10.27:27020")

故障轉(zhuǎn)移切換

模擬主節(jié)點(diǎn)損壞
ps aux | grep  mongod     //查詢本地的節(jié)點(diǎn)的進(jìn)程號(hào)
kill -9 40882             //殺死主節(jié)點(diǎn)進(jìn)程

配置MongoDB復(fù)制集

查看節(jié)點(diǎn)狀態(tài)
chenrs:SECONDARY> rs.status()
{
    "set" : "chenrs",
    "date" : ISODate("2018-07-14T15:21:21.426Z"),
    "myState" : 2,
    "term" : NumberLong(2),
    "syncingTo" : "172.16.10.27:27019",
    "syncSourceHost" : "172.16.10.27:27019",
    "syncSourceId" : 2,
           ···   //省略部分內(nèi)容
    "members" : [
        {
            "_id" : 0,
            "name" : "172.16.10.27:27017",
            "health" : 0,             //健康值為0,處于停機(jī)狀態(tài)
            "state" : 8,
            "stateStr" : "(not reachable/healthy)",
           ···   //省略部分內(nèi)容
        },
        {
            "_id" : 1,
            "name" : "172.16.10.27:27018",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            ···   //省略部分內(nèi)容
        },
        {
            "_id" : 2,
            "name" : "172.16.10.27:27019",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            ···    //省略部分內(nèi)容
        }
}

主動(dòng)切換主從狀態(tài)(在primary上做)

rs.freeze(30)      //暫停30s不參與選舉
rs.stepDown(60,30)   //交出主節(jié)點(diǎn)位置,維持從節(jié)點(diǎn)狀態(tài)不少于60秒,等待30秒使主節(jié)點(diǎn)和從節(jié)點(diǎn)日志同步

配置MongoDB復(fù)制集

MongoDB復(fù)制選舉原理及復(fù)制集管理

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


文章名稱:配置MongoDB復(fù)制集-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/dssdii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部