版權聲明:以下內容來自微信公共帳號“EOS技術愛好者”,搜索“EOSTechLover”即可訂閱,本原創文章作者Benjamin Wang@EOS Shenzhen。轉載必須保留以上聲明。僅授權原文轉載。
本文內容承接上一篇文章:【技術教程】Ubuntu-mongoDB服務器集群搭建簡要指南1——安裝mongoDB https://steemit.com/ubuntu/@eoshenzhen/ubuntu-mongodb-1-mongodb,點擊可查看安裝的具體內容。
副本集測試
1、修改配置文件
上一節我們已經安裝了三臺服務器,到了這一節,我們首先要做的是啟動副本集參數;
進入monbodb的etc目錄,修改配置文件
使得副本集參數生效,并且設置副本集名稱myrepl
2、啟動實例和副本集,進行測試
為確保過去啟動的實例關閉,可以使用一下命令
用新的配置文件啟動數據庫實例
啟動mongo數據庫shell
分別用三臺服務器進入mongoDB的shell,可以看到:
目前三臺機的狀態還是相互感知不到對方的存在的,需要創建一個配置文件告訴他們副本集的每一個成員;
在其中一臺機的shell配置副本集。本實例使用的是內網IP
注:測試之前建議先ping一下幾個服務器之間相互通不通,注意防火墻設置
初始化副本集;
之后成員會自動選出一個主節點PRIMARY;
其他的機器鏈接成功后會自動顯示為SECONDARY
這個時候是只有主節點可以寫和讀的;
使用test集合,插入文檔,并且查詢;
在另外兩臺副節點上查詢
副節點默認是不能查詢數據的,使用命令設置可以查詢
可以看到,主節點寫入的數據,副節點也可以查詢到
第一步寫、讀測試成功;
進一步測試、副節點是不可以寫入(副節點是從主節點更新數據);
3、副本集相關命令
查看副本集狀態
rs.status()
顯示當前節點和主節點信息
rs.isMaster()
添加一個節點
rs.add("host:port")
rs.remove("host:port")
查看副本集配置
rs.config()
根據config配置對象,重新配置副本集
rs.reconfig(config)
4、模擬主節點掉線,副節點被選為主節點
在主節點shell關閉主節點數據庫
在另外兩臺服務器查看,有一臺自動變為主節點
重新用配置文件進入剛才關閉的mongoDB服務器
再進入shell,前面關閉的機器已經自動變為副節點。
本文內容不構成本號任何立場
本原創文章作者為Benjamin Wang@EOS Shenzhen,首發于微信公眾號“EOS技術愛好者”。轉載請參照本文文首說明。
加入我們的知識星球吧!
關于我們 更多聯系:
Website:https://eoshenzhen.io
Steem:https://steemit.com/@eoshenzhen
Buzy:https://busy.org/@eoshenzhen
Telegram:https://t.me/eoshenzhen
Twitter:https://twitter.com/eostechlover
簡書:EOS技術愛好者
新浪微博:EOSTechLover