我正在尝试运行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
但是我仍然遇到同样的错误。
您遇到的问题是因为 批量操作队列 已满。
节点ES具有许多线程池,包括通用线程,搜索线程,索引线程,建议线程,批量线程等。在您的情况下,问题在于批量操作队列已满。
尝试调整批量操作的线程池的队列大小:
thread_pool.bulk.queue_size: 100
或减少一次发送的批量操作数量。
有关更多详细信息,请参见https://www.elastic.co/guide/zh- CN/elasticsearch/reference/current/modules- threadpool.html