在哪种情况下我可以得到这样的错误?
弹性搜索服务与客户端调用它在同一台计算机上,因此没有网络问题。服务器有可用内存,可用磁盘,并且总是至少有15-20%的cpu空闲。
我在弹性中插入大量数据,但它从未出现超时;今天,我们的日志中有数百个类似的错误。 可能是因为并行有很多请求吗?插入代码是多线程的。
InternalServerError - Invalid NEST response built from a unsuccessful low level call on POST: /albums/albummetadata/f3c20bb7-8f60-5d80-fe87-449bdf3d828a/_update # Audit trail of this API call: - [1] BadResponse: Node: http://localhost:9200/ Took: 00:01:00.3240283 - [2] MaxTimeoutReached: Took: -736395.18:15:40.4144464 # OriginalException: System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse() at Elasticsearch.Net.HttpConnection.Request[TReturn](RequestData requestData) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\HttpConnection.cs:line 145 # Request: # Response: +The operation has timed out
答案 0 :(得分:0)
你在做批量插入吗?你的文件很大吗?
在重载下插入可能会超时,这听起来是合理的。您可以尝试检测增加的错误率并缩减/减慢插入。您还可以提高超时阈值,但这可能只会到目前为止 - 您仍然会遇到不断增长的积压请求,并最终会再次失败。
另一种选择是扩展ES群集,增加当前节点的规格或添加更多节点。