我试图运行ElasticSearch,并使用以下命令,我试图把数据-
'curl -XPOST http://localhost:9200/_bulk?pretty --data-binary @data_.json'
但我得到了以下错误-
"create" : {
"_index" : "appname-docm",
"_type" : "HYD",
"_id" : "AVVYfsk7M5xgvmX8VR_B",
"status" : 429,
"error" : {
"type" : "es_rejected_execution_exception",
"reason" : "rejected execution of org.elasticsearch.transport.TransportService$4@c8998f4 on EsThreadPoolExecutor[bulk, queue capacity = 50, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@553aee29[Running, pool size = 4, active threads = 4, queued tasks = 50, completed tasks = 0]]"
}
}
},
我试着增加队列大小-
threadpool.search.queue_size: 100000
但我还是犯了同样的错误。
2条答案
按热度按时间c7rzv4ha1#
您遇到的问题是因为批量操作队列已满。
一个节点ES有许多线程池,通用的,搜索,索引,建议,批量等。在您的情况下,问题是由于批量操作的队列已满。
尝试调整批量操作的线程池队列大小:
或者减少一次发送的批量操作量。
有关更多详细信息,请参见https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html
bfnvny8b2#
请尝试以下操作:
curl -XPUT localhost:9200/_cluster/settings -d '{ "transient" : { "threadpool.bulk.queue_size" : 500 } }'
编辑:和Get current settings
curl -X GET "localhost:9200/_cluster/settings?include_defaults=true"