首页 > 数据库 >mongodb从库无法启动一例(replication_recovery.cpp)

mongodb从库无法启动一例(replication_recovery.cpp)

时间:2023-07-17 09:22:55浏览次数:31  
标签:recovery 54 mongodb NumberLong replication ISODate 2023 17T00 07

环境:
OS:centos 7
mongodb:4.4.22

背景:
1主1从1仲裁的环境,修改从库的集群ip后,执行如下操作后发现无法启动
myrepl:PRIMARY> rs.remove("192.168.1.104:29001")
myrepl:PRIMARY> conf=rs.conf()
myrepl:PRIMARY> conf.members[1].host="192.168.1.107:29001"
myrepl:PRIMARY> rs.reconfig(conf,{"force":true})
myrepl:PRIMARY>rs.add({ host: "192.168.1.107:29001", priority: 0, votes: 0 })

 

报错信息:
{"t":{"$date":"2023-07-16T20:44:39.569-04:00"},"s":"F",  "c":"REPL",     "id":40313,   "ctx":"initandlisten","msg":"A
pplied op oplogApplicationStartPoint not found","attr":{"oplogApplicationStartPoint":{"":{"$timestamp":{"t":168932683
3,"i":1}}},"topOfOplog":{"":{"$timestamp":{"t":1689325501,"i":1}}}}}
{"t":{"$date":"2023-07-16T20:44:39.569-04:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"F
atal assertion","attr":{"msgid":40313,"file":"src/mongo/db/repl/replication_recovery.cpp","line":632}}
{"t":{"$date":"2023-07-16T20:44:39.569-04:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}

 

原因是oplog被覆盖了,找不到相应的数据,需要重新初始化该节点:

处理步骤:
删除data目录然后重新启动
[root@localhost mongodb]# cd /home/middle/mongodb
[root@localhost mongodb]# mv data bak_data
[root@localhost mongodb]# mkdir data

[root@localhost conf]# /usr/local/services/mongodb/bin/mongod -f /home/middle/mongodb/conf/mongo.cnf

这个时候查看集群状态

myrepl:PRIMARY> rs.status()
{
        "set" : "myrepl",
        "date" : ISODate("2023-07-17T00:54:53.232Z"),
        "myState" : 1,
        "term" : NumberLong(4),
        "syncSourceHost" : "",
        "syncSourceId" : -1,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "majorityVoteCount" : 2,
        "writeMajorityCount" : 1,
        "votingMembersCount" : 2,
        "writableVotingMembersCount" : 1,
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1689555291, 1),
                        "t" : NumberLong(4)
                },
                "lastCommittedWallTime" : ISODate("2023-07-17T00:54:51.641Z"),
                "readConcernMajorityOpTime" : {
                        "ts" : Timestamp(1689555291, 1),
                        "t" : NumberLong(4)
                },
                "readConcernMajorityWallTime" : ISODate("2023-07-17T00:54:51.641Z"),
                "appliedOpTime" : {
                        "ts" : Timestamp(1689555291, 1),
                        "t" : NumberLong(4)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1689555291, 1),
                        "t" : NumberLong(4)
                },
                "lastAppliedWallTime" : ISODate("2023-07-17T00:54:51.641Z"),
                "lastDurableWallTime" : ISODate("2023-07-17T00:54:51.641Z")
        },
        "lastStableRecoveryTimestamp" : Timestamp(1689555251, 1),
        "electionCandidateMetrics" : {
                "lastElectionReason" : "electionTimeout",
                "lastElectionDate" : ISODate("2023-07-17T00:43:31.531Z"),
                "electionTerm" : NumberLong(4),
                "lastCommittedOpTimeAtElection" : {
                        "ts" : Timestamp(0, 0),
                        "t" : NumberLong(-1)
                },
                "lastSeenOpTimeAtElection" : {
                        "ts" : Timestamp(1689328811, 1),
                        "t" : NumberLong(3)
                },
                "numVotesNeeded" : 2,
                "priorityAtElection" : 1,
                "electionTimeoutMillis" : NumberLong(10000),
                "numCatchUpOps" : NumberLong(0),
                "newTermStartDate" : ISODate("2023-07-17T00:43:31.548Z"),
                "wMajorityWriteAvailabilityDate" : ISODate("2023-07-17T00:43:31.655Z")
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.1.102:29001",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 695,
                        "optime" : {
                                "ts" : Timestamp(1689555291, 1),
                                "t" : NumberLong(4)
                        },
                        "optimeDate" : ISODate("2023-07-17T00:54:51Z"),
                        "lastAppliedWallTime" : ISODate("2023-07-17T00:54:51.641Z"),
                        "lastDurableWallTime" : ISODate("2023-07-17T00:54:51.641Z"),
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "",
                        "electionTime" : Timestamp(1689554611, 1),
                        "electionDate" : ISODate("2023-07-17T00:43:31Z"),
                        "configVersion" : 23819,
                        "configTerm" : -1,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                },
                {
                        "_id" : 3,
                        "name" : "192.168.1.105:29001",
                        "health" : 1,
                        "state" : 7,
                        "stateStr" : "ARBITER",
                        "uptime" : 688,
                        "lastHeartbeat" : ISODate("2023-07-17T00:54:52.042Z"),
                        "lastHeartbeatRecv" : ISODate("2023-07-17T00:54:53.123Z"),
                        "pingMs" : NumberLong(1),
                        "lastHeartbeatMessage" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "",
                        "configVersion" : 23819,
                        "configTerm" : -1
                },
                {
                        "_id" : 4,
                        "name" : "192.168.1.107:29001",
                        "health" : 1,
                        "state" : 5,
                        "stateStr" : "STARTUP2",
                        "uptime" : 61,
                        "optime" : {
                                "ts" : Timestamp(0, 0),
                                "t" : NumberLong(-1)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(0, 0),
                                "t" : NumberLong(-1)
                        },
                        "optimeDate" : ISODate("1970-01-01T00:00:00Z"),
                        "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
                        "lastAppliedWallTime" : ISODate("1970-01-01T00:00:00Z"),
                        "lastDurableWallTime" : ISODate("1970-01-01T00:00:00Z"),
                        "lastHeartbeat" : ISODate("2023-07-17T00:54:52.518Z"),
                        "lastHeartbeatRecv" : ISODate("2023-07-17T00:54:52.412Z"),
                        "pingMs" : NumberLong(5),
                        "lastHeartbeatMessage" : "",
                        "syncSourceHost" : "192.168.1.102:29001",
                        "syncSourceId" : 0,
                        "infoMessage" : "",
                        "configVersion" : 23819,
                        "configTerm" : -1
                }
        ],
        "ok" : 1
}

 

目前该节点处于STARTUP2状态
startup2:整个初始化同步过程都处于这个状态
同步数据的过程中,新节点的状态stateStr 为STARTUP2,待同步完成后会变为SECONDARY.

 

标签:recovery,54,mongodb,NumberLong,replication,ISODate,2023,17T00,07
From: https://www.cnblogs.com/hxlasky/p/17559103.html

相关文章

  • Mysql group replication(MGR)
    一、MGR 1、MGR的作用和特点  1)MGR的作用  对Mysql数据库进行故障冗余 保证数据库数据实时性和一致性 2)特点 高一致性:保证数据实时同步 高容错性:部署MGR不能低于三个节点,节点数量必须是单数 可扩展性强:不停止复制组热添加和移除Mysql节点 灵活性强:动态扩展......
  • MongoDB导入导出
    物理备份物理备份是指将MongoDB数据库文件复制到备份服务器或存储设备上。MongoDB使用的是一种称为"copy-on-write"的技术,这意味着当修改MongoDB数据库时,MongoDB会将数据复制到一个新的文件中,而原始文件仍然保留不变。这使得可以在不中断服务的情况下备份MongoDB数据库。 物理......
  • mongodb报错Sort exceeded memory limit of 104857600 bytes
    mongodb运行过程中,遇到错误信息:2023-07-14T09:29:33.853ERRFailedtoQueryBsPoolUnivStaterror="(QueryExceededMemoryLimitNoDiskUseAllowed)Executorerrorduringfindcommand::causedby::Sortexceededmemorylimitof104857600bytes,butdidnotoptinto......
  • mongodb4.4.22主从(副本集附仲裁节点)部署带认证模式
    环境:OS:CentOS7DB:4.4.22机器角色:192.168.1.102:29001主192.168.1.104:29001从192.168.1.105:29001仲裁节点 1.下载相应的版本https://www.mongodb.com/download-center/community我这里下载的是mongodb-linux-x86_64-rhel70-4.4.22.tgz 2.创建安装目录192.168.1.102......
  • 62.Oracle的实例恢复(instance recovery)和介质恢复(media recovery)
    Oracle数据库中的SCN说明:4种SCN:系统检查点(SystemCheckpoint)SCN数据文件检查点(DatafileCheckpoint)SCN结束SCN(StopSCN)开始SCN(StartSCN)1)systemcheckpointscn --当checkpoing完成后,oracle将systemCheckpointScn号存放在控制文件中,可以通......
  • mongodb 入门 和 php示例
    内容太多了,感觉不好写,就写点入门的吧,其他参考参考_MonogDB中文网(mongodb.net.cn)虽然内容是机器翻译的,但也还好,基本能看. 相关概念: database数据库collection集合,相当于数据库表document文档,相当于数据记录行 dockerrun-d--namemongo-p27017:27......
  • 13-MongoDB 集成:如何在响应式应用中访问 NoSQL 数据库
    上一讲开始,我们进入了响应式数据访问这一模块的学习,并且引出了Spring家族中专门用于实现数据访问的SpringData框架及其响应式版本。我们知道SpringData支持多种响应式Repository用来构建全栈响应式编程模型,而MongoDB就是其中具有代表性的一种数据存储库。今天,我就将结......
  • ubuntu20.04安装mongodb步骤
    注:虚拟机无法运行mongodb5.0以上的版本1、wget-qO-https://www.mongodb.org/static/pgp/server-4.4.asc|apt-keyadd-导入并设置公钥2、echo"deb[arch=amd64,arm64]https://repo.mongodb.org/apt/ubuntufocal/mongodb-org/4.4multiverse"|tee/ect/apt/sources.list.......
  • mongodb4集合操作
    Mongodb集合操作1.查看当前数据库下所有集合showcollectionsshowtables2.新建集合db.createCollection("product")3.新建集合并插入文档db.girl.insert({"name":"小花","age":"33","address":"chengdu"})4.查看文档内容db.girl.find()5.删除......
  • mongodb5文档操作1-插入数据
    mongodb插入文档数据1.insert插入单条数据info={ "name":"teacher01","num":01,"age":33,"sex":"man","phone":18782940194,"address":"成都龙泉"}db.teacher.insert......