我想向ElasticSearch集群发送多个批量操作请求,我遇到了这个问题EsRejectedExecutionException[rejected execution (queue capacity 50) on org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction
当我发送此请求以获取其批量操作线程池大小的数量时,我有一个由4个ElasticSearch实例(版本1.3.4)组成的集群:
GET /_cat/thread_pool?v&h=host,bulk.active,bulk.queueSize我得到了
host bulk.active bulk.queueSize
1D4HPY1 0 50
1D4HPY2 0 50
1D4HPY3 0 50
1D4HPY4 0 50那么我可以向该集群发送多少个并发批量操作请求呢?50 or 200
发布于 2014-10-21 01:59:56
我建议你去看看this section from the documentation。
此外,当您说“您可以发送的同时请求”时,您需要更具体,因为,正如您在上面的页面中看到的,有各种线程池来处理各种作业。你在你的帖子中给出了一个“批量”操作的例子。
在我看来,"bulk“查看同时运行的线程数(根据this piece of documentation)的正确请求是GET /_cat/thread_pool?v&h=host,bulk.queueSize,bulk.min,bulk.max。因此,线程池中允许的bulk.max活动线程在队列中的任务数量为bulk.queueSize。当一个请求进入并且没有线程来处理它时,该请求被放入队列中等待。
https://stackoverflow.com/questions/26468383
复制相似问题