当前位置: 首页 > 知识库问答 >
问题:

弹性搜索河无法处理大量数据

和季
2023-03-14

我有一个问题,在elasticsearch与mongob建立河流。如果日期的大小在一百万以内,我可以从mongob导入数据。但是当数据很大1000万或更大时,河流无法索引来自mongob集合的所有记录。

我在日志中看到这个错误

org.elasticsearch.river.mongodb.Slurper$SlurperException: River out of sync with oplog.rs collection
    at org.elasticsearch.river.mongodb.Slurper.isRiverStale(Slurper.java:618)
    at org.elasticsearch.river.mongodb.Slurper.oplogCursor(Slurper.java:603)
    at org.elasticsearch.river.mongodb.Slurper.run(Slurper.java:119)

通常说river stale是错误的几次。此外,我在mongodb设置中的oplog大小为1024MB。

共有1个答案

阎宾实
2023-03-14

您将数据写入复制oplog的速度快于ElasticSearch河处理它的速度,并且需要增加oplog的大小。

如果River处理落后太多,oplog可定制光标将变得“陈旧”,这意味着River不再与您的MongoDB服务器有共同点(即它“不同步”)。为确保您已索引所有文档,您必须完全重新同步River,而不仅仅是从插入/更新的新文档中恢复。否则,您的River将错过一些与oplog不同步时编写的文档更改。

在64位Linux服务器环境中,默认的oplog大小是可用磁盘空间的5%。如果您正在进行数千万次更新,并且还需要将这些更新同步到外部ElasticSearch服务器,那么1024Mb是一个非常小的oplog大小。如果ElasticSearch与MongoDB在同一台服务器上运行,您的性能问题可能会加剧。

您可以使用以下方法在mongo shell中获得oplog所覆盖的时间估计:

db.printReplicationInfo()

请注意,这是基于在oplog中观察到的第一个和最后一个条目的估计。如果您在短时间内处理大量更改,oplog持续时间会显着减少。

您可以对适当的oplog大小进行猜测,但更好的方法是使用像MMS(MongoDB管理服务)这样的监控系统来捕获一些历史活动。特别是,查看在MMS中计算的复制Oplog窗口Oplog Db/小时统计信息中的活动。理想情况下,其他支持MongoDB的监控系统应该具有类似的计算统计信息。

 类似资料:
  • 很抱歉,但是ES的文档(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html)让我感到困惑。 多亏了术语表,我理解了数据库、表和行的术语,但我阅读了文档的大部分部分,但我找不到答案: 为什么需要在索引创建中添加和?我确实在这里查看了http://www.elasticsearch.org/g

  • 问题内容: 要获取的数据大小:大约20,000 问题:在python中使用以下命令搜索Elastic Search索引数据 但没有得到任何结果。 如果我给的尺寸小于或等于10,000,则可以正常工作,但不能与20,000相匹配, 请帮助我找到最佳的解决方案。 PS:在深入研究ES时发现此消息错误: 结果窗口太大,从+大小必须小于或等于:[10000],但为[19999]。有关请求大数据集的更有效方

  • 我试图使用docker容器创建一个弹性搜索安装。我只使用Elastic.io提供者的映像。 我不知道为什么,但logstash告诉我,他无法连接到带有此错误消息的ElasticSearch实例: 如果logstash真的得到了我的设置,有人能告诉我为什么他使用了一个坏的主机事件吗?

  • 我们正在开发一个应用程序,在这个应用程序中,我们从不同的源和不同的格式接收json格式的数据,用户也可以将这些源添加到自己的那里,所以我们不知道json格式会有什么属性 我们的应用程序将该数据表示为网格格式,网格提供了对该数据的过滤、排序、分页、分组等标准操作。 我们决定使用弹性搜索来存储如此大的、非结构化的数据。在后端,我们使用。NET(C#)。 开始使用大容量API对数据进行索引。下面是示例j

  • 我在使用Python弹性搜索访问数据时遇到了一个问题。我正在得到 尝试使用时出错 我的弹性搜索版本6.5。4,python版本3.7。2.

  • 在学习ElasticSearch的过程中,我偶然发现并没有得出最终结论。 ElasticSearch的最大碎片大小是多少