MongoDB副本集管理方法介紹
1)診斷
副本集中的機器,可以使用
>db.printReplicationInfo()
檢視主資料庫的複製的狀態。
使用
>db.printSlaveReplicationInfo()
檢視從資料庫的複製的狀態,可以檢視主從是否有複製延遲
2)oplog設定和變更oplog大小
完整同步,非常消耗時間,手動重新同步使用命令:
>db.runCommand({"resync":1})
使用--oplogSize引數設定更大的oplog大小。
假設MongoDB資料目錄是/data/db,關閉主節點的mongod服務後使用命令:
>rm /data/db/local.*
>mongod --oplog=8038 --master
在啟動MongoDB時使用了引數--noprealloc可以關閉空間預分配。
例如我們要生成20GB的檔案空間,使用命令:
cd /tmp/local
for i in {0..9}
do
echo $i
head -c 2146435072 /dev/zero > local.$i
done
然後關閉MongoDB主節點進行資料檔案移動
mv /data/db/local.* /safe/data
mv /tmp/local/* /data/db/
先將原local資料夾中的資料備份到/safe/data目錄下,然後把我們預分配的空間檔案/tmp/local/*移到資料目錄/data/db/中,這樣就完成了oplog的空間手動預分配。
重啟主節點時就可以把oplog的大小設定成20G了。使用如下命令:
mongod --master --oplogSize=20000
3) 阻塞複製使用
從節點的複製跟不上主節點的寫入操作時除了變更oplog的大小之外,還有一種方式能夠解決,那就是阻塞主節點的寫入,直到從節點慢慢跟上來之後再放開阻塞。使用命令如下:
>db.runCommand({getLastError:1,w:2});
w的值表示包括主節點在內,至少2個伺服器記錄了寫入操作之後才返回寫入的結果。w的值可以修改,值越大阻塞越明顯,寫操作越慢。
副本集中的機器,可以使用
>db.printReplicationInfo()
檢視主資料庫的複製的狀態。
使用
>db.printSlaveReplicationInfo()
檢視從資料庫的複製的狀態,可以檢視主從是否有複製延遲
2)oplog設定和變更oplog大小
完整同步,非常消耗時間,手動重新同步使用命令:
>db.runCommand({"resync":1})
使用--oplogSize引數設定更大的oplog大小。
假設MongoDB資料目錄是/data/db,關閉主節點的mongod服務後使用命令:
>rm /data/db/local.*
>mongod --oplog=8038 --master
在啟動MongoDB時使用了引數--noprealloc可以關閉空間預分配。
例如我們要生成20GB的檔案空間,使用命令:
cd /tmp/local
for i in {0..9}
do
echo $i
head -c 2146435072 /dev/zero > local.$i
done
然後關閉MongoDB主節點進行資料檔案移動
mv /data/db/local.* /safe/data
mv /tmp/local/* /data/db/
先將原local資料夾中的資料備份到/safe/data目錄下,然後把我們預分配的空間檔案/tmp/local/*移到資料目錄/data/db/中,這樣就完成了oplog的空間手動預分配。
重啟主節點時就可以把oplog的大小設定成20G了。使用如下命令:
mongod --master --oplogSize=20000
3) 阻塞複製使用
從節點的複製跟不上主節點的寫入操作時除了變更oplog的大小之外,還有一種方式能夠解決,那就是阻塞主節點的寫入,直到從節點慢慢跟上來之後再放開阻塞。使用命令如下:
>db.runCommand({getLastError:1,w:2});
w的值表示包括主節點在內,至少2個伺服器記錄了寫入操作之後才返回寫入的結果。w的值可以修改,值越大阻塞越明顯,寫操作越慢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2145732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongodb 4.0副本集搭建MongoDB
- MongoDB 6.0.3副本集搭建MongoDB
- MongoDB副本集及結構圖介紹MongoDB
- MongoDB日常運維-04副本集搭建MongoDB運維
- MongoDB - 副本集簡介MongoDB
- Mongodb主從複製/ 副本集/分片叢集介紹MongoDB
- MongoDB日常運維-05副本集故障切換MongoDB運維
- MongoDB 4.2副本集新增/刪除副本(一主一副一仲裁)MongoDB
- Mongodb3.0.5副本集搭建及spring和java連線副本集配置MongoDBSpringJava
- MongoDB 4.2副本集自動故障轉移(一主一副一仲裁)MongoDB
- MongoDB介紹MongoDB
- MongoDB副本集MongoDB
- 修改mongodb3.0副本集使用者密碼遇到的坑MongoDB密碼
- MongoDB shell 介紹MongoDB
- 快速掌握mongoDB(六)——讀寫分離的副本集實現和Sharing介紹MongoDB
- MongoDB 副本集搭建MongoDB
- MongoDB部署副本集MongoDB
- MongoDB 副本集管理MongoDB
- MongoDB之副本集MongoDB
- 再看MongoDB副本集MongoDB
- 搭建MongoDB副本集MongoDB
- 2.MongoDB 4.2副本集環境基於時間點的恢復MongoDB
- MongoDB副本集實踐MongoDB
- 如何配置 MongoDB 副本集MongoDB
- mongodb常用語句介紹MongoDB
- MongoDB資料模型介紹MongoDB模型
- MongoDB副本集replica set (二)--副本集環境搭建MongoDB
- MongoDB 副本集原理及管理MongoDB
- MongoDB 副本集切換方法MongoDB
- 006.MongoDB副本集MongoDB
- 小丸子學MongoDB系列之——部署MongoDB副本集MongoDB
- 達夢資料庫索引管理方法詳細介紹資料庫索引
- MongoDB啟動引數介紹MongoDB
- MongoDB Replica Set 副本集實踐MongoDB
- mongodb簡單副本集實驗MongoDB
- 使用副本集搭建MongoDB叢集MongoDB
- MongoDB 刪除,新增副本集,並修改副本集IP等資訊MongoDB
- MongoDB基本介紹與安裝(1)MongoDB