亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程


mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
| 總結(jié)/Edison Zhou
上一篇我們了解了MongoDB的基本概念與單節(jié)點環(huán)境搭建,本篇我們來學(xué)習(xí)如何搭建一個高可用的復(fù)制集集群 。
1 關(guān)于MongoDB復(fù)制集MongoDB復(fù)制集的主要意義在于實現(xiàn)服務(wù)的高可用,它是MongoDB的一個原生的高可用設(shè)計,不需我們額外引入一些組件來實現(xiàn),因此實現(xiàn)起來相當便利 。
主要功能
一是數(shù)據(jù)寫入時將數(shù)據(jù)迅速地復(fù)制到另一個獨立的節(jié)點上;
二是在接受寫入的節(jié)點發(fā)生故障時自動選舉出一個新的替代節(jié)點;
附加功能
數(shù)據(jù)分發(fā):將數(shù)據(jù)從一個區(qū)域復(fù)制到另一個區(qū)域,減少另一個區(qū)域的度延遲;
讀寫分離:不同類型的壓力分別在不同的節(jié)點上執(zhí)行;
異地容災(zāi):在數(shù)據(jù)中心故障時快速切換到異地;
典型結(jié)構(gòu)
一個典型的MongoDB復(fù)制集由3個以上具有投票權(quán)的節(jié)點組成:
(1)一個主節(jié)點(Primary),接受寫入操作和選舉時投票;
(2)兩個(或多個)從節(jié)點(Secondary),復(fù)制主節(jié)點上的新數(shù)據(jù)和選舉時投票;
mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
如何復(fù)制
當一個Mongo的修改操作(CRUD)成功,在主節(jié)點時它對數(shù)據(jù)的操作會被記錄下來,這些記錄被稱為oplog,并傳遞給從節(jié)點 。從節(jié)點通過不斷獲取新進入主節(jié)點的oplog,并在自己的數(shù)據(jù)上進行回放,以此保持和主節(jié)點的數(shù)據(jù)一致 。
mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
如何選舉
具有投票權(quán)的節(jié)點之間兩兩互相發(fā)送心跳,當5次心跳未收到時則會判斷節(jié)點為失聯(lián) 。如果失聯(lián)的是主節(jié)點,從節(jié)點會發(fā)起選舉,選出新的主節(jié)點 。如果失聯(lián)的是從節(jié)點,不會產(chǎn)生新的選舉 。
mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
整個選舉過程基于Raft一致性算法實現(xiàn),選舉成功的必要條件是大多數(shù)投票節(jié)點存活(這也是為啥大多數(shù)需要選舉的中間件集群要保持奇數(shù)個節(jié)點的原因),整個復(fù)制集中可以<=50個,但具有投票權(quán)的節(jié)點<=7個 。
2 實踐準備工作準備VMware Workstation
跟上一篇一樣,這次我們?nèi)匀粫ㄟ^VMware Workstation啟動幾個虛擬機來完成搭建實踐 。
準備三臺CentOS 7.x虛擬機
這里模擬的是三個Mongo節(jié)點的主從復(fù)制集,因此分別命名為mongo-master、mongo-slave1、mongo-slave2 。
mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
為了較好的模擬,在三個虛擬機中分別配置一下hosts文件:
vi /etc/hosts在hosts文件中加入以下內(nèi)容(IP地址為你配置的虛擬機IP):
192.168.58.100 mongo-master192.168.58.101 mongo-slave1192.168.58.102 mongo-slave2可以驗證一下能否通過主機名互相ping通 。
下載Mongo Server到三臺虛擬機
下載地址:https://www.mongodb.com/try/download/community
目前Server社區(qū)版最新版本為4.4.5:
mongodb是nosql數(shù)據(jù)庫嗎 2 NoSQL | MongoDB入門實戰(zhàn)教程

文章插圖
這里,我們復(fù)制到的目錄假設(shè)為:/usr/local/mongodb/tgz
復(fù)制完成后,分別進行解壓壓縮包,然后將其重命名:
tar -zvxf mongodb-linux-x86_64-rhel70-4.4.5.tgzmv ./mongodb-linux-x86_64-rhel70-4.4.5 /usr/local/mongodb準備三個Mongo節(jié)點的目錄和文件
進入目錄:cd /usr/local/mongodb
創(chuàng)建db目錄:mkdir /usr/local/mongodb/data/db
創(chuàng)建日志目錄:mkdir /usr/local/mongodb/logs
創(chuàng)建日志文件:touch /usr/local/mongodb/logs/mongodb.log


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: