mongoDB集群異常關閉後重新啟動失敗

2021-08-21 04:41:47 字數 1338 閱讀 1397

問題場景描述:mongodb集群非正常關閉後,重新啟動過程中常見的問題與解決方法總結。

該台主機mongodb安裝目錄為/usr/local/mongodb/

三颱主機構成乙個mongo集群,以其中一台主機為例,./bin/master.conf 配置檔案為:

#master.conf 

dbpath=/data/mongodb/master1

logpath=/usr/local/mongodb/logs/master0704.log

pidfilepath=/usr/local/mongodb/master0704.pid

directoryperdb=true

replset=testrs

bind_ip=192.168.11.101

port=27017

oplogsize=10000

fork=true

noprealloc=true

storageengine=wiredtiger

2.1 問題1:

以往正常啟動mongo現在無法啟動某個節點,往往是由於mongo的非正常關閉引起的(例如斷電)。該問題的出現首先的解決方法是:

1.刪除指定資料庫資料目錄下的mongod.lock檔案,然後重新啟動該台主機上的mongo

ps aux| grep mongod

如果出現該mongo的程序,則成功;

如果不成功,就檢查配置檔案master.conf,檢查檔案日誌和資料庫路徑是否正確

2.2 問題2

出現exited with error number 100錯誤,需要重點檢查配置項的路徑時候正確,例如:檢查檔案日誌和資料庫路徑是否正確。例如在資料庫資料存放路徑中少建立相應的資料夾;

最後實在不行,就更改資料庫資料的存放路徑、更改相應的日誌存放路徑(注意:不要刪除原原有的資料庫和集合表檔案),然後重啟該mongo節點;

【該方法適用於最無奈時候的:也是建議最後使用但是也是最有效的方法,但是要保證相應的資料檔案能夠恢復(相應的從節點有資料庫備份)】

在安裝並啟動了的mongodb的集群中的一台上,登陸mongodb的客戶端(./mongo ip:27017)

然後

$ ./mongod 192.168.11.101

:27017

#登陸mongodb客戶端

> use admin #切換管理員使用者

> db.shutdownserver(); #正常關閉mongodb,不是通過kill -9 pid的方式容易的導致的異常關閉

mongodb 對資料去重後再進行統計

自身是mongo小白,對此問題,瀏覽好多部落格文件,都沒有找到太好的答案,彙總一下 distinct只是去重,並不會統計,返回的是列表,如下 db.clct.distinct a 返回 1 14 15 16 18 如果需要進行分組統計,可以用 group db.clct.aggregate 返回 說...

Oracle異常關閉後謹防資料檔案受損

資料庫是智慧型校園下各類資訊系統的核心組成部分。oracle資料庫憑藉其強大的穩定性和可伸縮性,目前基本是國內所有高校作為軟體平台底層資料倉儲的主流選擇。正所謂 好馬配好鞍,寶劍贈英雄 穩定高效的oracle資料庫,自然也對運維人員技術水平和底層硬體執行環境的要求更高,一次意外的停電或乙個儲存磁碟的...

VMware虛擬機器異常關閉後,無法啟動

最近在玩docker,碰到這麼乙個情況,可能是我隨手就把電腦關了,然後虛擬機器就一直黑屏起不來了。網上給的方法都是 cmd msconfig 然後重啟什麼的,太麻煩有的時候還不管是。然後知乎上看的直接cmd 然後輸入 netsh winsock reset 重啟下就好了。netsh winsock ...