MongoDB 分片状态recovering
Posted Next-one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 分片状态recovering相关的知识,希望对你有一定的参考价值。
mongodb集群分片的数据查询的时候变慢,db.collection.find()不设置条件的查询几乎查不出来,通过检查集群中各分片服务器的状态,发现一台机器状态为recoving。通过 db.printReplicationInfo()命令查看该节点复制数据的情况,发现与其他节点不同步。
解决办法:1、停掉该节点mongodb服务(arbiter节点的mongodb服务也停掉),删除该节点数据存储的目录下的数据,在重新开启mongodb服务(先开启异常节点mongodb服务,再开启arbiter服务)异常节点将重新复制数据到自身节点。状态将由原来的recovering变成startupp,通过rs.status()命令可以看到uptime在不断更新 数据带不断被复制。
待数据同步完成,startup2状态自动别更为secondary。
解决办法2:删除该节点下的数据,并从其他节点复制完整的数据到该节点,需将local一并复制。。。。
以上是关于MongoDB 分片状态recovering的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB——从集群中删除分片,根据官网教程实际操作记录