MongoDB副本集replica set狀態檢查
阿新 • • 發佈:2020-12-23
背景
副本集狀態命令檢查
寫在前面
摘錄自https://www.cnblogs.com/lijiaman/p/13215533.html
link
檢視副本集狀態
rs.status()
檢查"health" : 1,
"ok" : 1,
檢查複製滯後
rs.printSlaveReplicationInfo()
source: 192.168.68.61:27017
syncedTo: Tue Dec 22 2020 08:29:49 GMT+0000 (UTC)
0 secs (0 hrs) behind the primary
source: 192.168.68.62:27017
syncedTo: Tue Dec 22 2020 08:29:49 GMT+0000 (UTC)
0 secs (0 hrs) behind the primary
滯後的原因:
1.網路延遲。檢查副本整合員之間的網路路由,確保沒有資料丟包或網路路由問題。可以使用ping或traceroute來確認。
2.磁碟吞吐量。使用iostat或vmstat評估磁碟狀態。
3.大事務操作。主節點上長時間執行的操作可能會阻塞次級節點的複製。
4.合理的寫關心(write concern)。如果需要對主資料庫進行大量寫入,執行大批量資料載入操作,則輔助資料庫無法跟上主節點。
測試所有成員之間的連線
副本集的所有成員必須能夠連線到該集合的每一個其它成員以支援複製。如果節點複製異常,可以排查節點之間的連通性。
在節點68.60上測試能否正常連線到其它2個節點
mongo --host 192.168.68.61 --port 27017
mongo --host 192.168.68.62 --port 27017
檢查oplog的大小
較大的oplog可以使副本集對延遲的容忍度更高,要檢查oplog大小,請在當前節點執行 rs.printReplicationInfo() 方法。
rs.printReplicationInfo() >=990M
操作日誌應該足夠大,至少能夠儲存24小時的日誌。
本文說明,主要技術內容來自網際網路技術大佬的分享,還有一些自我的加工(僅僅起到註釋說明的作用)。如有相關疑問,請留言,將確認之後,執行侵權必刪