MongoDB學習(十)之復制(副本集)
一、復制(副本集)
1)復制介紹
(1)解決問題(在集群中,保證MongoDB數據處理的正常進行):通過復制功能實現多服務器的數據冗余備份操作。使備份數據的服務器具備額外提供獨立讀訪問請求的功能(分布式讀取數據,解決高并發客戶端讀取用戶訪問問題);當服務器出故障時,提供自動故障轉移、自動數據恢復。
(2)副本集(replica)是一種具有自動選舉機制的主從復制。
(3)副本集一般包括:一個主節點(僅一個Primary Node)、從節點(至少兩個Secondary Node)、選擇另外一個獨立節點作為仲裁節點(管理副本集數據復制)。
(4)主節點(Primary Node)負責接收客戶端寫入數據庫操作。(大訪問量的情況下,主節點負責讀的任務,會存在瓶頸)
從節點(Secondary Node)負責從主節點復制數據,保證主從節點數據的一致性和安全性。
(5)復制依據:本地的Oplog(復制操作日志local.oplog.rs)集合(主從節點同步Oplog更新)。
(6)仲裁節點(只安裝mongod.exe)功能:通過心跳功能保持與其它節點的聯系,若主節點故障,通過投票選舉,快速產生新的主節點。
(7)insert、update等寫命令里需要設置{w:“majority”}參數,寫入主節點的數據才能同時被復制到從節點上。
注意日文系統中的¥就是\
2)學習環境部署過程
(1)安裝MongoDB,然后將安裝目錄中的data目錄下創建data文件夾和log文件夾。
(2)將安裝好得MongoDB目錄中的文件復制到另外兩個文件夾(mongodb1、mongodb2)中
(3)安裝主節點集群:(注意日文系統中的¥就是\)
注意:使用repl命令選項指定副本集名稱
(4)安裝從節點集群:
(5)設置集群配置文件:
注意:啟動任意一個的mongo進行設置。
注意: ①priority:副本級節點選舉優先級,數據越大優先級越高。
②rs.conf():查看副本集配置對象內容。
③rs.status():查看副本集狀態。
3)實際測試及使用環境部署、異地環境部署參考
MongoDB官網:https://docs.mongodb.com/manual/replication/
4)將其它成員(MongoDB服務器)添加到副本集中(該操作只能在主節點中進行)
(1)rs.add()方法
①語法
rs.add(<host>,arbiterOnly)
參數說明: 1、host:
參數類型為字符串,指定副本成員的主機名和端口號。
參數類型為文檔,指定在members數組中找到的副本集成員配置文檔(必須指定新成員[n]._id和[n].host)。
2、arbiterOnly:可選項,當host為字02符串時使用,true:仲裁節點;false:不是仲裁節點(默認)。
②示例
1、字符串型:
rs.add("mongodb.top:27017") //服務器域名:mongodb.top,端口號:27017
2、文檔型:
rs.add({"mongodb.top:27017",priority:0}) //服務器域名:mongodb.top,端口號:27017
//priority:節點選舉優先級,數字越大優先級越高
智能推薦
MongoDB副本集配置
首先,說一下我搭建這個MongoDB副本集的原因: 因為MongoDB副本集支持事務回滾,所以就搭建了一個MongoDB副本集 1.搭建3臺 MongoDB 數據庫 2.修改配置文件 在原來的基礎上添加 3.啟動每個mongodb 4.進入mongo命令行 5.初始化副本集 在mongo命令行執行,這里配置自己的IP 查看副本集狀態 看這里是不是已經有 主 和 從 了 如果你想手動配置優先級的話,...
mongodb副本集
一.mongodb副本集是什么? 它可以說是類似mysql主從的高可用的一個mongodb集群,當主宕機后,從可以自動切換。一般有一主多從(也可以一個從)組成。可以實現異地備份、讀寫分離和自動故障轉移。在此架構中,讀寫都是在主上,從只有讀的權限,要實現負載均衡的功能可以手動指定讀庫的server。 二.副本集的搭建 環境說明: 所有機器都必須安裝好mongodb數據庫 192.168.247.16...
MongoDB副本集
一、副本集基礎 1.1 副本集概念 MongoDB副本集是由一個主節點和多個副本節點組成。主節點將數據的改變推送到副本節點上,在一定的延遲之后,每個MongoDB實例維護相同的數據。通過維護冗余的數據副本,能夠實現數據的備份,讀寫分離和自動故障轉移。 1.2 副本集使用場景 數據冗余,用做故障恢復使用,當發生硬件故障或者其它原因造成的宕機時,可以使用副本進行恢復。 讀寫分離...
MongoDB 副本集架構
MongoDB 副本集架構 1. 副本集介紹 1.1 角色: primary 主 :主節點 寫入數據 secondary 備 : 副本集節點 同步prmary主節點數據 Arbiter 仲裁 :Arbiter 節點只參與投票,不能被選為 Primary,并且不從 Primary 同步數據 通過優先級來進行選舉 架構一 primary 主 : 寫入數據 secondary 備 : 同步prmary主...
MongoDB 副本集
MongoDB復制是將數據同步在多個服務器的過程。 復制提供了數據的冗余備份,并在多個服務器上存儲數據副本,提高了數據的可用性, 且保證數據的安全性。 復制還允許您從硬件故障和服務中斷中恢復數據。 MongoDB復制原理 mongodb的復制至少需要兩個節點。其中一個是主節點,負責處理客戶端請求,其余的都是從節點,負責復制主節點上的數據。 mongodb各個節點常見的搭配方式為:一主一從、一主多從...
猜你喜歡
Mongodb副本集配置
為什么80%的碼農都做不了架構師?>>> ###環境 操作系統:win7 64位<br /> MongoDB version: 2.6.5 ###配置mongodb實例 配置了三個實例,用的都是同一臺機器,分別使用27017,37017,47017端口 ###啟動實例 <!-- 啟動mongodb實例 --> C:\Users\a...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...