使用ES v6.4.3
在编写大量事务时出现一堆TransportService错误。确切的错误是:
StatusCodeError: 429 - {"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[instance-0000000002][10.44.0.71:19428][indices:data/write/bulk[s][p]]"}],"type":"es_rejected_execution_exception","reason":"rejected execution of org.elasticsearch.transport.TransportService$7@35110df8 on EsThreadPoolExecutor[name = instance-0000000002/write, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@3fd60b4f[Running, pool size = 2, active threads = 2, queued tasks = 200, completed tasks = 1705133]]"},"status":429}
普遍的共识似乎是在增加queue_size的大小,因此请求不会被丢弃。如错误所示,我的queue_size是默认值200,并已填满。 (我知道简单地增加queue_size并不是一个神奇的解决方案,但这正是我在这种情况下需要的)
因此,按照this doc进行有关如何更改elasticsearch.yml设置的尝试,我尝试在此处添加queue_size凹凸:
thread_pool.write.queue_size: 2000
'thread_pool.write.queue_size': is not allowed
我了解用户优先设置将某些设置列入黑名单,所以如果我的问题确实是thread_pool.write.queue_size
被列入黑名单,如何访问我的elasticsearch.yml文件进行更改?
谢谢!