代码之家  ›  专栏  ›  技术社区  ›  Amit

如何找出elasticsearch日志中的索引错误

  •  2
  • Amit  · 技术社区  · 6 年前

    我使用的是es1.x版本,在索引某些文档时很难找到错误。

    stop throttling indexing: numMergesInFlight=2, maxNumMerges=3
    
    now throttling indexing: numMergesInFlight=4, maxNumMerges=3
    

    我快速搜索了一下,了解了这些错误的严重程度,但希望了解以下内容:

    1. ES会重试被限制的文档吗?
    2. 是否有任何方法可以知道哪些文档通过启用一些详细的日志记录而受到限制,如果是,那么在哪些类中?
    3. 除了上面提到的,我没有看到任何错误信息 INFO
    0 回复  |  直到 6 年前
        1
  •  1
  •   Opster Elasticsearch Expert    6 年前

    https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html#segments-and-merging

    限制不会丢弃消息,但只会减慢索引速度,这会对索引器和外部队列造成反压力。

    当索引失败时,您应该得到索引/批量请求的错误响应。为了说明问题所在,您应该检查索引/批量请求的响应。日志可能无法说明全部情况,因为它取决于日志级别的配置,而日志级别的配置是ES中每个模块的配置。

    另一个选择是您可以索引,但是日志没有您认为的时间戳。检查 _cat/indices

        2
  •  0
  •   Elad Amit    6 年前

    据我所知,elasticsearch不会重试,这取决于客户端(尽管我已经有很长时间没有使用1.x了) https://github.com/logstash-plugins/logstash-output-elasticsearch/blob/master/lib/logstash/outputs/elasticsearch.rb#L55