MongoDB複製集搭建

最近在學習mongodb,看文檔時看到複製集這塊覺得挺有意思,於是便動手搭建了一下mongodb複製集
mongodb的複製至少需要兩個節點。其中一個是主節點,負責處理客戶端請求,其餘的都是從節點,負責複製主節點上的數據,這裏最好是有兩臺服務器一主一從最好,但是本人電腦比較渣,所以就用一臺虛擬機使用不同端口來模擬多臺服務器
實驗準備:
mongodb安裝的4.03版本,虛擬機用的是VMware,三個端口分別是:
127.0.0.1:27017 主節點
127.0.0.1:27018 從節點
127.0.0.1:27019 仲裁節點 不存儲數據,只是負責通過心跳包來確認集羣中集合的數量,並在主服務器選舉的時候作爲仲裁決定結果
1.爲不同節點創建不同的db文件夾
在這裏插入圖片描述
2.啓動三個節點
我這邊是使用xshell連接的虛擬機,並開啓三個窗口

./mongod --port 27017 --dbpath=/data/db --replSet rs0
./mongod --port 27018 --dbpath=/data/db2 --replSet rs0
./mongod --port 27019 --dbpath=/data/db3 --replSet rs0

3.連接主節點,並啓動副本集
我這邊之前已經初始化一次了,所以提示already initialized
在這裏插入圖片描述
在這裏插入圖片描述
4.添加從節點,仲裁節點
在這裏插入圖片描述
輸入 rs.status()可以看到添加成功
在這裏插入圖片描述
在這裏插入圖片描述
5.測試複製集secondary節點數據複製功能
在主節點創建一個user集合並插入一條數據
在這裏插入圖片描述
連接從節點看看是否複製成功
在這裏插入圖片描述
出現如下錯誤是正常的,因爲SECONDARY是不允許讀寫的,輸入下面語句即可解決
SECONDARY> rs.slaveOk();
在這裏插入圖片描述
開始測試如下
在這裏插入圖片描述
可以看到同步成功
6.測試複製集主從節點故障轉移功能
關閉主節點
在這裏插入圖片描述
在從節點上查看可以發現27018從從節點變成了主節點
在這裏插入圖片描述
在這裏插入圖片描述
這時候如果重啓127.0.0.1:27017,該節點就會變成27018的從節點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章