MongoDB複製錯誤及處理方法

來源:互聯網
上載者:User

MongoDB複製錯誤及處理方法

通過在主節點上面運行 rs.status() 可以看到相應的errormsg

具體解決辦法如下:

1、Error creating index  13111 field not found, expected type 16

在執行mongorestore匯入資料的時候出現這個錯誤,使用的命令是

./mongorestore -h localhost:27100 /data/backup/mongodb

解決方案:

改為

./mongorestore --port 27100 /data/backup/mongodb

2、error RS102 too stale to catch up

主從同步的時候執行rs.status()查看的RS102錯誤。由於在啟動的時候指定 --oplogSize=128,(主節點的oplog日誌大小,單位為M,更改oplog大小時,刪除local.*,然後加 --oplogSize=* 重新啟動即可,*代表大小)在對主庫大資料插入的時候,可能會出現來不及同步到從庫的現象。

解決方案:

停掉主從庫,將主庫的data資料複製到從庫後重啟服務。

參考

http://www.mongodb.org/display/DOCS/Resyncing+a+Very+Stale+Replica+Set+Member

3、Command 'listDatabases' failed: need to login (response: { "errmsg" : "need to login", "ok" : 0 })

配置了主從庫後,發現只能本機連庫,其他機器連不上。

解決方案:

啟動的時候將--keyFile去掉。

4、pymongo.errors.AutoReconnect: could not find master/primary

MongoDB可能非正常停掉服務導致的,解決方案:刪除mongod.lock 並重啟mongdb。

5、pymongo.errors.AutoReconnect: master has changed

python中通過pymongo串連資料庫的時候出現該錯誤。

解決方案:

切換串連代碼即可。bigtb_corpus = pymongo.Connection("lifeba.org", 27100) 換為

servers = "mongodb://lifeba.org:27100/?slaveok=true"  bigtb_corpus = pymongo.Connection(servers)

6、Connection reset by peer

Python串連MongoDB,在壓力測試下,出現這個錯誤。串連數滿了,導致串連被重設。後來查明了原因是mongodb的驅動版本不一致導致的。MongoDB部署的版本是2.0.1,串連MongoDB的一台機器上面裝的驅動是2.2版本。

導致了每次訪問串連都增加而不釋放。

7、Replica Set 主從不同步(RECOVERING , still syncing, not yet to minValid optime)

使用db.printSlaveReplicationInfo(),db.printReplicationInfo() 查看最新的主從同步情況。

停掉從庫,然後刪除掉全部的資料庫資料,並重新啟動從庫,從庫會自動從主庫同步資料過來。

8、已有的主從中添加新的從機器

將主機器的資料庫複寫一份到從機器上面,然後啟動從資料庫,啟動好後,在主機器中加入該該從機器即可:rs.add("192.168.0.149:27100")

9、MongoDB去掉主從

停掉全部的機器的mongo服務,刪除掉local.* 檔案 刪除journal檔案夾 ,並且在啟動命令中去掉 --replSet=rs ,然後重新啟動。

10、HOSTNAME問題

replSet exception loading our local replset configuration object : 0 assertion src/mongo/db/repl/../../db/../util/net/hostandport.h:120

預設hostname為localhost,這個會報錯,改為其他名字即可。

master has changed異常

配置了MongoDB資料庫主從後,用內網ip串連也會報,解決方案用hostname來串連。

11.initial sync need a member to be primary or secondary to do our initial sync

正在同步中,目前資料還未同步完成,等待一段時間過後再看。

MongoDB 3.0 正式版發布下載 

CentOS編譯安裝MongoDB

CentOS 編譯安裝 MongoDB與mongoDB的php擴充

CentOS 6 使用 yum 安裝MongoDB及伺服器端配置

Ubuntu 13.04下安裝MongoDB2.4.3

MongoDB入門必讀(概念與實戰並重)

Ubunu 14.04下MongoDB的安裝指南

《MongoDB 權威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios監控MongoDB分區叢集服務實戰

基於CentOS 6.5作業系統搭建MongoDB服務

MongoDB 的詳細介紹:請點這裡
MongoDB 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.