Mongodb 复制集中一个 mongod 挂掉后机器起不来,处理方法

本贴最后更新于 2564 天前,其中的信息可能已经时异事殊

199宕机。数据无法恢复。
1.将同是shard2的201上的数copy过来。copy之前先停止更新数据。
2.找到剩下的两台机器那个是PRIMARY。在PRIMARY上执行如下操作。
[liyan@cnews197 ~]$ cd /data/support/mongodb-2.0.2/bin
[liyan@cnews197 bin]$ ./mongo -port 15552
MongoDB shell version: 2.0.2
connecting to: 127.0.0.1:15552/test
PRIMARY> rs.status()
{
        "set" : "shard2",
        "date" : ISODate("2017-11-15T08:51:32Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 0,
                        "name" : "10.70.56.199:15552",
                        "health" : 0,
                        "state" : 8,
                        "stateStr" : "(not reachable/healthy)",
                        "uptime" : 0,
                        "optime" : {
                                "t" : 1510342250000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-10T19:30:50Z"),
                        "lastHeartbeat" : ISODate("2017-11-10T19:31:16Z"),
                        "pingMs" : 0,
                        "errmsg" : "socket exception"
                },
                {
                        "_id" : 1,
                        "name" : "10.70.56.201:15552",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 88,
                        "optime" : {
                                "t" : 1510735865000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:51:05Z"),
                        "lastHeartbeat" : ISODate("2017-11-15T08:51:30Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 2,
                        "name" : "10.70.56.197:15552",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "optime" : {
                                "t" : 1510735865000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:51:05Z"),
                        "self" : true
                }
        ],
        "ok" : 1
}
PRIMARY> rs.remove('10.70.56.199:15552')// 删除旧的mongod
Wed Nov 15 16:53:57 DBClientCursor::init call() failed
Wed Nov 15 16:53:57 query failed : admin.$cmd { replSetReconfig: { _id: "shard2", version: 2, members: [ { _id: 1, host: "10.70.56.201:15552" }, { _id: 2, host: "10.70.56.197:15552" } ] } } to: 127.0.0.1:15552
Wed Nov 15 16:53:57 Error: error doing query: failed shell/collection.js:151
Wed Nov 15 16:53:57 trying reconnect to 127.0.0.1:15552
Wed Nov 15 16:53:57 reconnect 127.0.0.1:15552 ok
                                       
PRIMARY> rs.status() //查看结果
{
        "set" : "shard2",
        "date" : ISODate("2017-11-15T08:54:07Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 1,
                        "name" : "10.70.56.201:15552",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 8,
                        "optime" : {
                                "t" : 1510736036000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:53:56Z"),
                        "lastHeartbeat" : ISODate("2017-11-15T08:54:05Z"),
                        "pingMs" : 0,
                        "errmsg" : "syncThread: 10278 dbclient error communicating with server: 10.70.56.197:15552"
                },
                {
                        "_id" : 2,
                        "name" : "10.70.56.197:15552",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "optime" : {
                                "t" : 1510736037000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:53:57Z"),
                        "self" : true
                }
        ],
        "ok" : 1
}
PRIMARY> rs.add('10.70.56.196:15552')// 添加新的mongod
{ "ok" : 1 }
                                  
PRIMARY> rs.status() //
{
        "set" : "shard2",
        "date" : ISODate("2017-11-15T08:54:41Z"),
        "myState" : 1,
        "members" : [
                {
                        "_id" : 1,
                        "name" : "10.70.56.201:15552",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 42,
                        "optime" : {
                                "t" : 1510736078000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:54:38Z"),
                        "lastHeartbeat" : ISODate("2017-11-15T08:54:39Z"),
                        "pingMs" : 0
                },
                {
                        "_id" : 2,
                        "name" : "10.70.56.197:15552",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "optime" : {
                                "t" : 1510736078000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T08:54:38Z"),
                        "self" : true
                },
                {
                        "_id" : 3,
                        "name" : "10.70.56.196:15552",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 3,
                        "optime" : {
                                "t" : 1510730231000,
                                "i" : 1
                        },
                        "optimeDate" : ISODate("2017-11-15T07:17:11Z"),
                        "lastHeartbeat" : ISODate("2017-11-15T08:54:40Z"),
                        "pingMs" : 163
                }
        ],
        "ok" : 1
}

  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 537 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 474 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    342 引用 • 708 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 2 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 464 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1705 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 65 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 259 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 2 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    133 引用 • 189 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 1 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 2 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 334 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 510 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 2 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 399 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 356 关注
  • abitmean

    有点意思就行了

    30 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 2 关注