摘要:節(jié)點(diǎn)介紹主節(jié)點(diǎn)在復(fù)制集中,主節(jié)點(diǎn)是唯一能夠接收寫請(qǐng)求的節(jié)點(diǎn)。在主節(jié)點(diǎn)進(jìn)行寫操作,并將這些操作記錄到主節(jié)點(diǎn)的中。但是,旦當(dāng)前的主節(jié)點(diǎn)不可用時(shí),投票節(jié)點(diǎn)就會(huì)參與到新的主節(jié)點(diǎn)選舉的投票中。仲裁節(jié)點(diǎn)使用最小的資源并且不要求硬件設(shè)備。
復(fù)制介紹
節(jié)點(diǎn)介紹 主節(jié)點(diǎn)(Primary)復(fù)制是在多臺(tái)服務(wù)器之間同步數(shù)據(jù)的過程。復(fù)制集在大多數(shù)場合下已經(jīng)代替Master-Slave復(fù)制。如果可能的話,盡可能使用復(fù)制集而不是主-從復(fù)制架構(gòu)。
從節(jié)點(diǎn)(Secondaries)在復(fù)制集中,主節(jié)點(diǎn)是唯一能夠接收寫請(qǐng)求的節(jié)點(diǎn)。MongoDB在主節(jié)點(diǎn)進(jìn)行寫操作,并將這些操作記錄到主節(jié)點(diǎn)的oplog中。而從節(jié)點(diǎn)將會(huì)從oplog復(fù)制到其本機(jī),并將這些操作應(yīng)用到自己的數(shù)據(jù)集上。(復(fù)制集最多只能擁有一個(gè)主節(jié)點(diǎn))
仲裁節(jié)點(diǎn)(ARBITER)從節(jié)點(diǎn)通過應(yīng)用主節(jié)點(diǎn)傳來的數(shù)據(jù)變動(dòng)操作來保持其數(shù)據(jù)集與主節(jié)點(diǎn)一致。從節(jié)點(diǎn)也可以通過增加額外參數(shù)配置來對(duì)應(yīng)特殊需求。例如,從節(jié)點(diǎn)可以是non-voting或是priority 0.
仲裁節(jié)點(diǎn)即投票節(jié)點(diǎn),其本身并不包含數(shù)據(jù)集,且也無法晉升為主節(jié)點(diǎn)。但是,旦當(dāng)前的主節(jié)點(diǎn)不可用時(shí),投票節(jié)點(diǎn)就會(huì)參與到新的主節(jié)點(diǎn)選舉的投票中。仲裁節(jié)點(diǎn)使用最小的資源并且不要求硬件設(shè)備。投票節(jié)點(diǎn)的存在使得復(fù)制集可以以偶數(shù)個(gè)節(jié)點(diǎn)存在,而無需為復(fù)制集再新增節(jié)點(diǎn) 不要將投票節(jié)點(diǎn)運(yùn)行在復(fù)制集的主節(jié)點(diǎn)或從節(jié)點(diǎn)機(jī)器上。 投票節(jié)點(diǎn)與其他 復(fù)制集節(jié)點(diǎn)的交流僅有:選舉過程中的投票,心跳檢測和配置數(shù)據(jù)。這些交互都是不加密的。
Tip 1 : 一個(gè)復(fù)制集至少需要這個(gè)成員:一個(gè)主節(jié)點(diǎn),一個(gè)從節(jié)點(diǎn)和一個(gè)投票節(jié)點(diǎn)。但是在大多數(shù)情況下,我們會(huì)保持3個(gè)擁有數(shù)據(jù)集的節(jié)點(diǎn):一個(gè)主節(jié)點(diǎn)和兩個(gè)從節(jié)點(diǎn)。即
Tip 2 : mongo3.0.0 版本更改:一個(gè)復(fù)制集最多可添加到50個(gè)節(jié)點(diǎn),但是只能有7個(gè)投票節(jié)點(diǎn)(包括主節(jié)點(diǎn))。在此之前,復(fù)制集最多可添加12個(gè)節(jié)點(diǎn)。
節(jié)點(diǎn)規(guī)則 配置副本集準(zhǔn)備三臺(tái)機(jī)器,并且必須保持三臺(tái)服務(wù)器能夠相互連接,配置為一主一從一仲裁的模式
192.168.1.7:27017
192.168.1.8:27017
192.168.1.9:27017
配置文件說明# 日志記錄 logpath=/tmp/mongodb/log/mongod.log logappend=true # fork and run in background fork = true port = 27017 dbpath=/tmp/mongodb/data # location of pidfile pidfilepath = /tmp/mongodb/log/mongod.pid rest = true maxConns=32000 # Disables write-ahead journaling # nojournal = true # Replication Options replSet=RsM服務(wù)啟動(dòng)
分別啟動(dòng)三臺(tái)mongo服務(wù)
/tmp/mongodb/bin/mongod -f /tmp/mongodb/conf/mongo.conf初始化配置
進(jìn)入其中一臺(tái)mongo,進(jìn)行配置(注:帳戶權(quán)限,認(rèn)證忽略)
增加一個(gè)變量
cfg = {"_id": "RsM", "members":[ {"_id": 0,"host":"192.168.1.7:27017","priority":1}, {"_id": 1,"host":"192.168.1.8:27017","priority":1}, {"_id": 2,"host":"192.168.1.9:27017","priority":1}, ]}; rs.initate(cfg); # 查看狀態(tài) rs.status()測試故障自助轉(zhuǎn)移
補(bǔ)充說明 新增節(jié)點(diǎn)與去除節(jié)點(diǎn)殺掉主節(jié)點(diǎn),進(jìn)入從節(jié)點(diǎn)后,利用rs.status();查看狀態(tài)即可!
rs.add("ip:port"); // 新增從節(jié)點(diǎn) rs.addArb("ip:port"); // 新增仲裁節(jié)點(diǎn) rs.remove("ip:port"); // 刪除一個(gè)節(jié)點(diǎn) rs.isMaster(); // 查看當(dāng)前是否是主節(jié)點(diǎn)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/18845.html
摘要:設(shè)置構(gòu)建副本集初始化配置查看副本集狀態(tài)輸出查看同步延遲備份關(guān)閉 設(shè)置network docker network create my-mongo-cluster docker network ls 構(gòu)建副本集 docker run -p 30001:27017 --name mongo1 --net my-mongo-cluster daocloud.io/library/mo...
摘要:大體分為成員的角色及轉(zhuǎn)換成員狀態(tài)及轉(zhuǎn)換兩部分。每個(gè)復(fù)制集成員在啟動(dòng)后,都先進(jìn)入狀態(tài),然后加載成員的復(fù)制集配置,之后進(jìn)入到狀態(tài)。選舉行為除了受和兩個(gè)屬性影響外,成員的狀態(tài)也會(huì)影響選舉,僅有和五種狀態(tài)的成員允許進(jìn)行投票操作。 此文已由作者溫正湖授權(quán)網(wǎng)易云社區(qū)發(fā)布。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營經(jīng)驗(yàn)。 復(fù)制集(Replica Set)是MongoDB核心組件,相比早期版本采用...
摘要:本文中我們就來聊一聊如何使用和兩個(gè)工具快速搭建一個(gè)測試集群。注意的目的旨在為我們快速搭建測試環(huán)境,絕對(duì)不應(yīng)該用于生產(chǎn)環(huán)境的使用上。準(zhǔn)備工作安裝是用于的一系列工具,就是其中用于快速啟動(dòng)的一部分。以下這些參數(shù)是我們經(jīng)常使用的啟動(dòng)一個(gè)復(fù)制集。 前言 不知道大家在使用MongoDB的時(shí)候有沒有遇到突然想要一個(gè)集群但是手邊又沒有的時(shí)候?特別是我已經(jīng)升級(jí)到4.0了,突然想要一個(gè)3.2的集群怎么辦?...
摘要:大家好,今天我們來給講講關(guān)于在中的使用規(guī)則。在某些情況下,最理想的是進(jìn)程只分配可用內(nèi)存的一個(gè)子集,或者僅根據(jù)進(jìn)程需要增加內(nèi)存使用量。 大家好,今天我們來給講講關(guān)于 TensorFlow 在 GPU 中的使用規(guī)則。支持的設(shè)備在一套標(biāo)準(zhǔn)系統(tǒng)中通常有多臺(tái)計(jì)算設(shè)備。TensorFlow 支持 CPU 和 GPU 這兩種設(shè)備。它們均用 strings 表示。例如:/cpu:0:機(jī)器的 CPU/devi...
There are a bunch of different methods you can use to back up your MongoDB data, but if you want to avoid downtime and/or potential performance degradation, the most common advice seems to be that you...
閱讀 2820·2021-10-08 10:04
閱讀 3271·2021-09-10 11:20
閱讀 534·2019-08-30 10:54
閱讀 3322·2019-08-29 17:25
閱讀 2307·2019-08-29 16:24
閱讀 894·2019-08-29 12:26
閱讀 1451·2019-08-23 18:35
閱讀 1939·2019-08-23 17:53