国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小白到運維工程師自學之路 第四十六集 (mongodb復制集)

這篇具有很好參考價值的文章主要介紹了小白到運維工程師自學之路 第四十六集 (mongodb復制集)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、概述

?????? 1、 MongoDB復制集(MongoDB Replica Set)是MongoDB提供的一種高可用性和數(shù)據(jù)冗余的解決方案。它由多個MongoDB實例組成,其中一個作為主節(jié)點(Primary),其他節(jié)點則扮演從節(jié)點(Secondary)的角色。主節(jié)點處理所有的寫操作和客戶端請求,而從節(jié)點負責復制主節(jié)點的數(shù)據(jù)并提供讀操作的能力。

?????? 2、 復制集的主要目標是提供數(shù)據(jù)的冗余和故障恢復的能力。當主節(jié)點發(fā)生故障或不可用時,復制集會自動選舉出一個新的主節(jié)點來接管主節(jié)點的職責,保證系統(tǒng)的可用性。一旦原先的主節(jié)點恢復,它會以從節(jié)點的身份重新加入復制集,同步最新的數(shù)據(jù)。

??????? 3、在復制集中,數(shù)據(jù)同步是通過Oplog(操作日志)來實現(xiàn)的。主節(jié)點會記錄所有的寫操作,并將其順序保存在Oplog中。從節(jié)點通過讀取Oplog中的操作來進行數(shù)據(jù)的復制和同步。

?????? 4、 復制集還提供了其他一些功能,如自動故障檢測和恢復、自動故障轉(zhuǎn)移、讀寫分離等。通過配置合適的副本集成員和選舉優(yōu)先級,可以實現(xiàn)不同的數(shù)據(jù)治理策略和故障容錯能力。

??????? 5、要配置一個MongoDB復制集,需要在MongoDB配置文件中指定每個節(jié)點的相關配置,包括主節(jié)點和從節(jié)點的IP地址、端口號、復制集名稱等。在啟動MongoDB實例時,指定配置文件即可。一旦復制集的節(jié)點都啟動成功,系統(tǒng)會自動進行選舉并形成一個復制集。

??????? 6、MongoDB復制集提供了高可用性、數(shù)據(jù)冗余和故障恢復的能力,是在生產(chǎn)環(huán)境中常用的部署架構之一。通過使用復制集,可以保證MongoDB數(shù)據(jù)庫在單節(jié)點故障或部分故障的情況下仍然可用,并提供更好的讀寫性能和數(shù)據(jù)冗余。

二、工作原理

????????1. 節(jié)點角色:一個MongoDB復制集由多個節(jié)點組成,其中一個節(jié)點被選舉為主節(jié)點(Primary),其他節(jié)點則扮演從節(jié)點(Secondary)的角色。主節(jié)點負責處理所有的寫操作和客戶端請求,從節(jié)點負責復制主節(jié)點的數(shù)據(jù)并提供讀操作。

????????2. 選舉過程:復制集的選舉過程在初始啟動或主節(jié)點故障時發(fā)生。當一個節(jié)點檢測到主節(jié)點不可用時,它會發(fā)起一次選舉。選舉過程包括以下步驟:
?? - 節(jié)點發(fā)出選舉請求,向其他節(jié)點發(fā)送投票請求。
?? - 其他節(jié)點接收到投票請求后,檢查自己的選舉條件,如節(jié)點狀態(tài)、投票狀態(tài)等。
?? - 如果節(jié)點滿足選舉條件,它會將投票回復給發(fā)起選舉的節(jié)點。
?? - 發(fā)起選舉的節(jié)點會等待一定數(shù)量的投票回復,如果它獲得了足夠多的投票(超過半數(shù)),則成為新的主節(jié)點。

????????3. 數(shù)據(jù)復制和同步:主節(jié)點負責記錄所有的寫操作并將其順序保存在Oplog(操作日志)中。從節(jié)點通過讀取Oplog中的操作來進行數(shù)據(jù)的復制和同步。復制包括兩個階段:
?? - 初始同步(Initial Sync):當一個從節(jié)點加入復制集時,它會從主節(jié)點復制所有的數(shù)據(jù)。主節(jié)點會將數(shù)據(jù)以數(shù)據(jù)文件(Data File)的形式發(fā)送給從節(jié)點,從節(jié)點按照順序?qū)懭氲奖镜卮疟P中。初始同步完成后,從節(jié)點與主節(jié)點的數(shù)據(jù)將保持同步。
?? - 增量同步(Incremental Sync):一旦從節(jié)點完成初始同步,它會通過讀取Oplog中的寫操作來實現(xiàn)與主節(jié)點的增量同步。主節(jié)點將新的寫操作追加到Oplog中,從節(jié)點定期讀取Oplog并將相應的操作應用到本地數(shù)據(jù)中,使得它與主節(jié)點的數(shù)據(jù)保持一致。

????????4. 自動故障檢測和恢復:復制集支持自動故障檢測和恢復功能。當主節(jié)點故障或不可用時,復制集會自動進行主節(jié)點選舉,從而選擇一個新的主節(jié)點來接管主節(jié)點的職責。一旦原先的主節(jié)點恢復,它會以從節(jié)點的身份重新加入復制集,同步最新的數(shù)據(jù)。

三、安裝部署

下載連接
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.6.tgz

創(chuàng)建mongodb文件夾
mkdir  /usr/local/mongodb

指定解壓路徑
tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz  -C /usr/local/mongodb

創(chuàng)建軟連接
ln -s /usr/local/mongodb/bin/* /bin/

創(chuàng)建數(shù)據(jù)目錄
mkdir -p /data/mongodb1

創(chuàng)建日志目錄
mkdir -p /data/logs/mongodb

創(chuàng)建日志文件
touch /data/logs/mongodb/mongodb1.log
編寫啟停腳本
vim /etc/init.d/mongodb
#!/bin/bash
INSTANCE=$1
ACTION=$2
case "$ACTION" in
'start')
/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
'stop')
/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown;;
'restart')
/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown
/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
esac

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?文章來源地址http://www.zghlxwxcb.cn/news/detail-537398.html

給腳本賦予執(zhí)行權限
chmod +x /etc/init.d/mongodb
編寫配置文件
cd /usr/local/mongodb/
mkdir conf                                  創(chuàng)建配置文件目錄
vim conf/mongodb1.conf                      創(chuàng)建配置文件
port=27017		                            監(jiān)聽端口
dbpath=/data/mongodb1	                    指定數(shù)據(jù)目錄
logpath=/data/logs/mongodb/mongodb1.log	    指定日志文件路徑
logappend=true	                            允許寫入日志
fork=true			                        允許創(chuàng)建子進程
maxConns=5000	                            最大連接數(shù)
storageEngine=mmapv1		                存儲引擎

?小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

啟動命令 
/etc/init.d/mongodb mongodb1 start

停止命令
/etc/init.d/mongodb mongodb1 stop

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

四、創(chuàng)建復制集

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

vim /usr/local/mongodb/conf/mongodb1.conf 
port=27017
dbpath=/data/mongodb1
logpath=/data/logs/mongodb/mongodb1.log
logappend=true
fork=true
maxConns=5000
storageEngine=mmapv1
slowms=1                 開啟慢查詢閾值
profile=1                開啟查詢分析
replSet=722207           集群名字 隨意取

在復制四份配置文件只修改配置文件中的端口號,數(shù)據(jù)文件目錄,日志文件路徑

?小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫?

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

mkdir /data/mongodb{1..4} -p                     創(chuàng)建四個數(shù)據(jù)文件目錄
mkdir /data/logs/mongodb -p                      創(chuàng)建日志文件目錄
touch /data/logs/mongodb/mongodb{1..4}.log       創(chuàng)建四個日志文件
chmod 777 /data/logs/mongodb/mongodb*            賦予日志所有權限

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

啟動四個mongodb
/etc/init.d/mongodb mongodb1 start
/etc/init.d/mongodb mongodb2 start
/etc/init.d/mongodb mongodb3 start
/etc/init.d/mongodb mongodb4 start

netstat -anputl | grep mongodb  查看端口

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?五、測試

進入mongodb查看

查看節(jié)點信息 rs.status()

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?配置復制集

cfg={"_id":"722207","members":[{"_id":0,"host":"127.0.0.1:27017"},{"_id":1,"host":"127.0.0.1:27018"},{"_id":2,"host":"127.0.0.1:27019"}]}

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

查看復制集狀態(tài) rs.status()

在這里需要注意兩條

"health" : 1, //1為健康,0為宕機

"state" : 1, //1為主,2為從

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?添加27020節(jié)點 ?rs.add("127.0.0.1:27020")

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

關閉主節(jié)點27017主節(jié)點 模擬故障

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

進入27018查看信息

可以看到27020節(jié)點變成了主節(jié)點

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?

六、復制集選舉原理

1、復制的原理

MongoDB復制是基于操作日志oplog實現(xiàn),oplog相當于mysql中的二進制日志,只記錄數(shù)據(jù)發(fā)生的改變操作。

2、選舉的原理

(1)節(jié)點類型:標準節(jié)點,被動節(jié)點,仲裁節(jié)點

????????①、只有標準節(jié)點可能被選舉為活躍(主)節(jié)點,有選舉權

????????②、被動節(jié)點有完整副本,不可能成為活躍節(jié)點,有選舉權

????????③、仲裁節(jié)點不復制數(shù)據(jù),不可能成為活躍節(jié)點,只有選舉權

(2)標準節(jié)點與被動節(jié)點的區(qū)別

????????priority值高者是標準節(jié)點,低者則為被動節(jié)點

(3)選舉規(guī)則

票數(shù)高者獲勝,priority是優(yōu)先權0-1000值,相當于額外增加0-1000的票數(shù)。

選舉結(jié)果:票數(shù)高者獲勝;若票數(shù)相同,數(shù)據(jù)新者獲勝。

3、修改選舉優(yōu)先權(設置兩個主節(jié)點、一個從節(jié)點、一個仲裁節(jié)點)

重新停啟mongodb

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

mongo進入mongodb

設置27017、27018為主節(jié)點、27019為從節(jié)點、27020為仲裁節(jié)點

cfg={"_id":"722207","protocolVersion":1,"members":[{"_id":0,"host":"127.0.0.1:27017","priority":100},        {"_id":1,"host":"127.0.0.1:27018","priority":100}, {"_id":2,"host":"127.0.0.1:27019","priority":0}, {"_id":3,"host":"127.0.0.1:27020","arbiterOnly":true}]}

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

創(chuàng)建完成后查看集群狀態(tài)如果出現(xiàn)了報錯下面的錯誤需要刪除27020這個節(jié)點

再重新添加

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?rs.remove('127.0.0.1:27020')刪除這個節(jié)點小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

rs.add('127.0.0.1:27020')再次添加這個節(jié)點

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

再次進行節(jié)點設置

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?再次查看集群狀態(tài)

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?查看主節(jié)點是誰小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?現(xiàn)在再來把27017給停掉

可以看到27018變成了主服務器

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?再次把27018停掉查看情況

可以看到27017成為了主服務器

角色設置生效后只有主節(jié)點才會成為主服務器、從服務器和仲裁服務不會參與主節(jié)點的競選

小白到運維工程師自學之路 第四十六集 (mongodb復制集),運維,mongodb,數(shù)據(jù)庫

?

以上就是mongodb復制集的配置

如有錯誤歡迎各位大佬批評指正,我們共同進步

到了這里,關于小白到運維工程師自學之路 第四十六集 (mongodb復制集)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 小白到運維工程師自學之路 第六十七集(Harbor企業(yè)鏡像倉庫部署)

    小白到運維工程師自學之路 第六十七集(Harbor企業(yè)鏡像倉庫部署)

    Harbor 是 VMware 公司開源的企業(yè)級 Docker Registry 項目,其目標是幫助用戶迅速搭建一個企業(yè)級的 Docker Registry 倉庫服務。它以Docker公司開源的Registry為基礎, 提供了管理 UI ?;诮巧脑L問控制(Role Based AccessControl)、AD/LDAP集成、以及審計日志 (Auditlogging) 等企業(yè)用戶需求的功能。

    2024年02月13日
    瀏覽(38)
  • 小白到運維工程師的自學之路 第五十四集 (ansible自動化運維工具)

    小白到運維工程師的自學之路 第五十四集 (ansible自動化運維工具)

    Ansible是一種開源的自動化工具,用于自動化任務的執(zhí)行、配置管理和應用部署。它采用基于Python編寫的簡單、輕量級的語法,可以通過SSH協(xié)議遠程管理和配置多臺計算機。 Ansible的主要特點包括: 1、簡單易用:設計簡單,語法清晰,無需特殊培訓即可上手使用。 2、基于模塊

    2024年02月16日
    瀏覽(19)
  • 小白到運維工程師自學之路 第六十二集 (docker持久化與數(shù)據(jù)卷容器)

    小白到運維工程師自學之路 第六十二集 (docker持久化與數(shù)據(jù)卷容器)

    一、概述 Docker持久化是指將容器中的數(shù)據(jù)持久保存在主機上,以便在容器重新啟動或遷移時不丟失數(shù)據(jù)。由于Docker容器是臨時和可變的,它們的文件系統(tǒng)默認是易失的,這意味著容器中的任何更改或創(chuàng)建的文件都只存在于此容器的生命周期內(nèi)。但是,在許多場景中,我們希望

    2024年02月14日
    瀏覽(16)
  • 小白到運維工程師自學之路 第七十九集 (基于Jenkins自動打包并部署Tomcat環(huán)境)2

    小白到運維工程師自學之路 第七十九集 (基于Jenkins自動打包并部署Tomcat環(huán)境)2

    ? 拉到最后選擇構建后操作 拉到最后點擊保存 ? 訪問192.168.77.19:8080/probe 賬戶密碼都是tomcat ?

    2023年08月27日
    瀏覽(20)
  • 猿創(chuàng)征文|棄文從工,從小白到螞蟻工程師,我的 Java 成長之路

    猿創(chuàng)征文|棄文從工,從小白到螞蟻工程師,我的 Java 成長之路

    最近 CSDN 開展了猿創(chuàng)征文,希望博主寫文章講述自己在某個領域的技術成長歷程。 之前也曾想找個機會寫篇文章,記錄下自己的成長歷程。 因此,借著這個機會寫下這篇文章。 在回顧自己的成長歷程的同時,希望對一些同學的學習和工作也會有一些啟發(fā)和幫助。 閱讀本文,

    2024年02月16日
    瀏覽(24)
  • 后端工程師晉升之路

    入門 0.5 年 第 1 計:不要過于糾結(jié)方向選擇問題。 開始入門的時候,我們可能都會糾結(jié)于選擇前端還是后端,選擇了后端還猶豫到底選 Java、Go 還是 Python。 其實,我覺得不用過于糾結(jié)。如果說你對偏前端的內(nèi)容感興趣,那就從前端入手;對數(shù)據(jù)庫方面的內(nèi)容感興趣,那就從

    2024年02月10日
    瀏覽(21)
  • 零基礎如何自學成為網(wǎng)絡安全工程師

    零基礎如何自學成為網(wǎng)絡安全工程師

    一份網(wǎng)絡攻防滲透測試的學習路線,不藏私了! ?? 【一幫助安全學習一】??這里自取256G網(wǎng)絡安全自學資料 1、學習編程語言(php+mysql+js+html) php+mysql可以幫助你快速的理解B/S架構是怎樣運行的,只有理解了他的運行原理才能夠真正的找到問題/漏洞所在。所以對于國內(nèi)那些上來

    2024年02月16日
    瀏覽(24)
  • 【運維工程師學習】Debian安裝

    【運維工程師學習】Debian安裝

    選擇鏡像文件 進入安裝選擇界面 graphical install 圖形安裝 Install 安裝系統(tǒng) advanced options 高級選項 Help 幫助 accessible dark contrast installer menu 無障礙暗色對比度安裝程序菜單 (旨在為視力有障礙的用戶提供更好的可訪問性,提供了: 高對比度主題、大字體選項、屏幕閱讀器支持) In

    2024年02月12日
    瀏覽(20)
  • 初級運維工程師面試題

    1、apache有幾種工作模式,分別簡述兩種工作模式及其優(yōu)缺點? apache主要有兩種工作模式:prefork(apache的默認安裝模式)和worker(可以在編譯的時候添加–with-mpm=worker選項) prefork的特點是:(預派生) 1.這種模式可以不必在請求到來時再產(chǎn)生新的進程,從而減小了系統(tǒng)開銷 2.可以防

    2024年02月08日
    瀏覽(19)
  • 【良品】運維實施工程師面試題

    答:netstat –anpt | grep 8089 答:kill -9 4728/ 答:find . -name \\\"en* \\\" 答:chmod +x filename.sh 答:tar -xf .gz -C /usr/local unzip .zip 答:rpm -q smile ; rpm -e smile 答:vi /etc/profile? 添加內(nèi)容 JAVA_HOME=/usr/local/java/jdk1.8.0_221 PATH=JAVAHOME/bin:PATH CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar export JAVA_HOME expo

    2024年02月09日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包