ElasticSearch提供有关队列大小的错误

 清雅竹gf_644 发布于 2023-02-09 11:12

我缺乏回复评论作为评论的声誉.

它并不完全是批量请求的数量,它实际上是批量调用将在给定节点上更新的分片总数.这意味着批量请求中实际批量操作的内容实际上很重要.例如,如果您有一个单个节点,具有单个索引,在8核心框上运行,具有60个分片,并且您发出的批量请求具有影响所有60个分片的索引操作,那么您将收到此错误消息批量请求.

如果有人想要改变这一点,你可以在评论"查看所有请求并创建ShardId"附近的org.elasticsearch.action.bulk.TransportBulkAction.executeBulk()内部看到分裂.个别请求在版本1.2.1的第293行附近发生了几行.

3 个回答
  • elasticsearch 1.3.4

    我们的系统8核心*2

    每个批量工作者每1分钟插入300,000条消息=>每秒20,000

    我也是那个例外!然后设置配置

    elasticsearch.yml
    
    threadpool.bulk.type: fixed
    threadpool.bulk.size: 8                 # availableProcessors
    threadpool.bulk.queue_size: 500
    
    source
    
    BulkRequestBuilder bulkRequest = es.getClient().prepareBulk();
    
    bulkRequest.setReplicationType  (ReplicationType.ASYNC).setConsistencyLevel(WriteConsistencyLevel.ONE);
    
    loop begin
    bulkRequest.add(es.getClient().prepareIndex(esIndexName, esTypeName).setSource(document.getBytes    ("UTF-8")));
    loop end
    
    BulkResponse bulkResponse = bulkRequest.execute().actionGet();
    

    4core => bulk.size 4

    然后没有错误

    2023-02-09 11:14 回答
  • 我缺乏回复评论作为评论的声誉.

    它并不完全是批量请求的数量,它实际上是批量调用将在给定节点上更新的分片总数.这意味着批量请求中实际批量操作的内容实际上很重要.例如,如果您有一个单个节点,具有单个索引,在8核心框上运行,具有60个分片,并且您发出的批量请求具有影响所有60个分片的索引操作,那么您将收到此错误消息批量请求.

    如果有人想要改变这一点,你可以在评论"查看所有请求并创建ShardId"附近的org.elasticsearch.action.bulk.TransportBulkAction.executeBulk()内部看到分裂.个别请求在版本1.2.1的第293行附近发生了几行.

    2023-02-09 11:14 回答
  • 您希望增加线程池中可用的批量线程数.ES在多个命名池中设置线程以用于各种任务.这些池有一些设置; 类型,大小和队列大小.

    来自文档:

    queue_size允许控制没有线程执行它们的挂起请求队列的大小.默认情况下,它设置为-1,这意味着它是无界的.当请求进入并且队列已满时,它将中止请求.

    对我而言,这意味着您有更多的批量请求排队等待来自池的线程执行其中一个线程而不是当前的队列大小.文档似乎表明队列大小默认为-1(上面的文字说明)和50(文档中的批量调用说明).您可以查看源代码以确定您的es版本或设置更高的数字,看看您的批量问题是否已经消失.

    ES线程池设置doco

    2023-02-09 11:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有