Mongodb secondary上面replSet error RS102 too stale to catch up
1 監控網站上報錯:replSet error RS102 too stale to catch up
Tue Aug 13 05:18:06 [rsSync] replSet See
05:18:06 [rsSync] replSet error RS102 too stale to catch up
05:20:07 [rsSync] replSet syncing to: 101.130.92.323:27018
05:20:07 [rsSync] replSet error RS102 too stale to catch up, at lbgst from 101.130.92.323:27018
05:20:07 [rsSync] replSet our last optime : Aug 6 19:18:05 52014bed:2
05:20:07 [rsSync] replSet oldest at 101.130.92.323:27018 : Aug 10 10:58:26 52061cd2:17
05:20:07 [rsSync] replSet See
05:20:07 [rsSync] replSet error RS102 too stale to catch up
05:22:08 [rsSync] replSet syncing to: 101.130.92.323:27018
05:22:08 [rsSync] replSet error RS102 too stale to catch up, at lbgst from 101.130.92.323:27018
05:22:08 [rsSync] replSet our last optime : Aug 6 19:18:05 52014bed:2
05:22:08 [rsSync] replSet oldest at 101.130.92.323:27018 : Aug 10 10:59:17 52061d05:3e
2 察看狀態,發現是recovring狀態
[bguser@346437-bgstore_db1 ~]$ /db/mongodb/bin/mongo --port 27018
MongoDB shell version: 2.0.1
connecting to: 127.0.0.1:27018/test
RECOVERING> db.printReplicationInfo();
configured oplog size: 90000MB
log length start to end: 553610secs (153.78hrs)
oplog first event time: Wed Jul 31 2013 09:31:15 GMT+0000 (UTC)
oplog last event time: Tue Aug 06 2013 19:18:05 GMT+0000 (UTC)
now: Tue Aug 13 2013 06:03:40 GMT+0000 (UTC)
RECOVERING> rs.status();
{
"set" : "rpl",
"date" : ISODate("2013-08-13T06:03:49Z"),
"myState" : 3,
"syncingTo" : "101.130.92.323:27018",
"members" : [
{
"_id" : 0,
"name" : "101.130.92.32:27017",
"hbglth" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 8433,
"optime" : {
"t" : 1376373827000,
"i" : 16
},
"optimeDate" : ISODate("2013-08-13T06:03:47Z"),
"lastHbgrtbbgt" : ISODate("2013-08-13T06:03:47Z"),
"pingMs" : 0
},
{
"_id" : 4,
"name" : "101.130.92.32:27019",
"hbglth" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 8435,
"optime" : {
"t" : 0,
"i" : 0
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHbgrtbbgt" : ISODate("2013-08-13T06:03:47Z"),
"pingMs" : 0
},
{
"_id" : 5,
"name" : "101.130.92.32:27018",
"hbglth" : 1,
"state" : 3,
"stateStr" : "RECOVERING",
"optime" : {
"t" : 1375816685000,
"i" : 2
},
"optimeDate" : ISODate("2013-08-06T19:18:05Z"), -- 同步時間也不對,是8月6日的,今天以及國內13日了
"self" : true
},
{
"_id" : 6,
"name" : "101.130.92.323:27017",
"hbglth" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 8433,
"optime" : {
"t" : 1376373827000,
"i" : 17
},
"optimeDate" : ISODate("2013-08-13T06:03:47Z"),
"lastHbgrtbbgt" : ISODate("2013-08-13T06:03:47Z"),
"pingMs" : 0
},
{
"_id" : 7,
"name" : "101.130.92.323:27018",
"hbglth" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 8435,
"optime" : {
"t" : 1376373827000,
"i" : 17
},
"optimeDate" : ISODate("2013-08-13T06:03:47Z"),
"lastHbgrtbbgt" : ISODate("2013-08-13T06:03:47Z"),
"pingMs" : 0
}
],
"ok" : 1
}
RECOVERING>
3 去官網上面察看資料,發現如下
?Restart the mongod with an empty data directory and let MongoDB’s normal initial syncing fbgture restore the data.
This is the more simple option, but may take longer to replace the data.
重新啟動 步驟如下:
(1) stop the failed mongod 停止正在執行的同步異常的mongodb服務
(2) delete all data in the dbpath (including subdirectories) 刪除mongodb目錄下所有的資料檔案包括其他的子目錄
(3) start it and it will automatically resynchronize itself from primary 啟動mongodb服務,服務會自動從primary上重新同步資料過來。
4 重新sync後,狀態一直是 RECOVERING沒有變成secondary,不過資料都已經同步過去了。
RECOVERING> rs.status();
{
"set" : "rpl",
"date" : ISODate("2013-08-13T07:58:41Z"),
"myState" : 3,
"syncingTo" : "101.130.92.323:27018",
"members" : [
{
"_id" : 0,
"name" : "101.130.92.322:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 5629,
"optime" : {
"t" : 1376380719000,
"i" : 84
},
"optimeDate" : ISODate("2013-08-13T07:58:39Z"),
"lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"),
"pingMs" : 0
},
{
"_id" : 4,
"name" : "101.130.92.322:27019",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 5629,
"optime" : {
"t" : 0,
"i" : 0
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"),
"pingMs" : 0
},
{
"_id" : 5,
"name" : "101.130.92.322:27018",
"health" : 1,
"state" : 3,
"stateStr" : "RECOVERING",
"optime" : {
"t" : 1376380721000,
"i" : 31
},
"optimeDate" : ISODate("2013-08-13T07:58:41Z"),
"self" : true
},
{
"_id" : 6,
"name" : "101.130.92.323:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 5629,
"optime" : {
"t" : 1376380719000,
"i" : 66
},
"optimeDate" : ISODate("2013-08-13T07:58:39Z"),
"lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"),
"pingMs" : 0
},
{
"_id" : 7,
"name" : "101.130.92.323:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 5629,
"optime" : {
"t" : 1376380719000,
"i" : 66
},
"optimeDate" : ISODate("2013-08-13T07:58:39Z"),
"lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"),
"pingMs" : 0
}
],
"ok" : 1
}
RECOVERING>
還需要繼續觀察一段時間,看是否最終會從RECOVERING變成secondary。
觀察了1天之後,還是RECOVRING, 日誌裡面也沒有報任何異常資訊.只好嘗試著重新啟動了下
kill 12292
/db/mongodb/bin/mongod -f /etc/mongodb/27018.conf
結果status變成了secondary了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26230597/viewspace-1103378/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Original error: Error: socket hang upError
- MySQL ERROR 1040: Too many connectionsMySqlError
- Error running ‘Application’Command line is too longErrorAPP
- [20230104]Oracle too many parse errors PARSE ERROR.txtOracleError
- [20200309]rlwrap: error: Cannot execute sqlplus: Too many levels of symbolic linErrorSQLSymbol
- The API server is burning too much error budget 異常處理APIServerError
- 偶遇ERROR 1071 (42000): Specified key was too long; max key length is 767 bytesError
- nginx事件 -- 第六篇 stale eventNginx事件
- selenium 提示 stale element reference: element is not attached to the page document
- 採用secondary的冷備份的方式來新增新的secondary節點
- MongoDB server returned error on SASL authentication step: BSON field 'saslCoMongoDBServerError
- try ,catch
- vagrant up 啟動報錯 Stderr: VBoxManage.exe: error: A NAT rule of this name already existsError
- 關於報錯An unexpected error occurred: “https://registry.yarnpkg.com/react: socket hang up“ErrorHTTPYarnReact
- Promise catch() 方法Promise
- Laravel try catchLaravel
- ORA-17500: ODM err:ODM ERROR V-41-3-2-207-5 Mirror Number too largeError
- Spectrum Entropy Prediction Assisted Channel Selection for Secondary Users
- 獎金up up up!單個漏洞最高獎勵2萬元!
- 適配Android P(9.0)的問題 (百度地圖)HttpClient: Catch connection exception, INNER_ERRORAndroid地圖HTTPclientExceptionError
- Level Up
- wake up
- secondary logon服務怎麼開啟?Win10系統secondary logon服務的開啟步驟GoWin10
- 手擼 Promise (then、catch)Promise
- Catch the Mole(Easy Version)
- catch_child.cpp
- 什麼是 Angular library 的 secondary entry points?Angular
- GitHub上面找專案Github
- MongoDB報錯mongorestore: error while loading shared libraries: libsasl2.so.2MongoDBRESTErrorWhile
- mac安裝,Sail up初始化時報錯,ERROR [ 5/13] RUN apt-get update...MacAIErrorapt-get
- day day up
- POJ3278 Catch That Cow
- [20180608]Wrong Results with IOT, Added Column and Secondary Index.txtIndex
- Hadoop3.2.1 【 HDFS 】原始碼分析 : Secondary Namenode解析Hadoop原始碼
- data too long for column
- 什麼?Android上面跑Linux?AndroidLinux
- [20180609]Wrong Results with IOT, Added Column and Secondary Index2.txtIndex
- Java try catch finally 總結Java
- JavaScript try catch finally 語句JavaScript