首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongos不返回碎片中的现有数据

Mongos不返回碎片中的现有数据
EN

Database Administration用户
提问于 2015-11-03 18:56:44
回答 2查看 510关注 0票数 7

因此,我们有一个配置为2个碎片(每个是一个副本集)和一个切碎的集合。

每个碎片大约有1000万条记录。我们使用的是Mongo2.6.4版本。我们用hash_id切分键进行切分,我们为切分生成了特定的切分键。

我们通过id从mongos获取数据,并且大多数查询都能工作,但是对于一些查询(大约10k),mongos返回null,尽管它们存在于其中一个碎片中,并且我们可以直接从碎片中获取它。

有谁知道为什么mongos或config服务器没有某些it的信息,是否有任何方法来修复它?是否有任何一种操作可以刷新配置服务器中的数据,以获得有关数据库中所有记录的信息?

谢谢,伊凡

EN

回答 2

Database Administration用户

发布于 2015-11-07 14:02:54

发出flushRouterConfig命令,并试一试。它强制mongos刷新已过时的缓存元数据。

如果不起作用就告诉我。

票数 1
EN

Database Administration用户

发布于 2017-07-16 15:38:37

一种解决方案是从两个副本集(碎片)收集该集合,然后将其从集群中删除。在已启用切分的情况下重新创建它,然后从两个转储文件中mongoimport所有数据。

但是,如果一个节点可以有足够的磁盘空间来处理所有文档,那么您可以使用把另一片碎片抽干 (即将所有文档移动到一个碎片),然后再添加另一个碎片,让平衡器来平衡集群。

后者具有不需要维护中断的先进性,系统一直在为客户提供服务。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/120709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档