【问题标题】:Issue in firing multiple search requests in elasticsearch在弹性搜索中触发多个搜索请求的问题
【发布时间】:2015-05-26 05:23:43
【问题描述】:

我已将 20 个索引从一个 elasticsearch 实例复制到一个新实例。之后,当我开始从我的代码中在新实例中触发搜索查询时,在 20-30 次调用后我收到错误:

{[aRGdCWK2QsyfvgGJLt6xrA][quanteye_ing][1]: EsRejectedExecutionException[rejected execution (queue capacity 1000) 
                                            on org.elasticsearch.search.action.SearchServiceTransportAction$23@29fdcd0e]} 

如何解决问题?

【问题讨论】:

    标签: java exception search elasticsearch


    【解决方案1】:

    当 elasticsearch 集群无法跟上搜索流量时,通常会发生此错误。这基本上是一种内部保护机制,可以避免 elasticsearch 过载。当返回此错误时,行为正常的客户端应用程序应暂时停止执行搜索并等待弹性搜索实例恢复。如果这种情况经常发生,可能需要通过添加更多节点来增加集群的容量。

    如果问题是由客户端流量的短暂峰值引起的,您还可以通过增加线程池队列大小来缓解问题:

    threadpool.search.queue_size: 2000

    这可以在elasticsearch.yml 文件中完成或动态完成。但是,此解决方案不适用于超过集群容量的持续大流量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-20
      • 2023-01-14
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多