簡體   English   中英

使用nest和elasticsearch索引許多對象-無法在任何節點上執行發布

[英]indexing many with nest and elasticsearch - unable to perform post on any of the nodes

我正在嘗試使用Nest將許多文檔編入Elasticsearch。 文件數量有限,一切正常,但是當我增加文件數量時-從1000到50,000,則會引發錯誤。 我不認為這是由於文檔數量所致-可能是不良數據。

我正在嘗試防范不良數據-我只是索引具有ID的文檔。 id是從我的一個字段(upc)中生成的。 所以我很肯定每個文檔都有一個ID。 我還確保要對其進行序列化的類對象具有所有可空屬性。

仍然,沒有信息可以幫助我解決此錯誤。

我得到的錯誤是..

Unable to perform request: 'POST' on any of the nodes after retrying 0 times

這是引發錯誤時的堆棧跟蹤:

 at Elasticsearch.Net.Connection.Transport.RetryRequest[T](TransportRequestState`1 requestState, Uri baseUri, Int32 retried, Exception e) in c:\Projects\NEST\src\Elasticsearch.Net\Connection\Transport.cs:line 241
 at Elasticsearch.Net.Connection.Transport.DoRequest[T](TransportRequestState`1 requestState, Int32 retried) in c:\Projects\NEST\src\Elasticsearch.Net\Connection\Transport.cs:line 215
 at Elasticsearch.Net.Connection.Transport.DoRequest[T](String method, String path, Object data, IRequestParameters requestParameters) in c:\Projects\NEST\src\Elasticsearch.Net\Connection\Transport.cs:line 163
 at Elasticsearch.Net.ElasticsearchClient.DoRequest[T](String method, String path, Object data, BaseRequestParameters requestParameters) in c:\Projects\NEST\src\Elasticsearch.Net\ElasticsearchClient.cs:line 75
 at Elasticsearch.Net.ElasticsearchClient.Bulk[T](Object body, Func`2 requestParameters) in c:\Projects\NEST\src\Elasticsearch.Net\ElasticsearchClient.Generated.cs:line 45
 at Nest.RawDispatch.BulkDispatch[T](ElasticsearchPathInfo`1 pathInfo, Object body) in c:\Projects\NEST\src\Nest\RawDispatch.generated.cs:line 34
 at Nest.ElasticClient.<Bulk>b__d6(ElasticsearchPathInfo`1 p, BulkDescriptor d) in c:\Projects\NEST\src\Nest\ElasticClient-Bulk.cs:line 20
 at Nest.ElasticClient.Dispatch[D,Q,R](D descriptor, Func`3 dispatch, Boolean allow404) in c:\Projects\NEST\src\Nest\ElasticClient.cs:line 86
 at Nest.ElasticClient.Dispatch[D,Q,R](Func`2 selector, Func`3 dispatch, Boolean allow404) in c:\Projects\NEST\src\Nest\ElasticClient.cs:line 72
 at Nest.ElasticClient.Bulk(Func`2 bulkSelector) in c:\Projects\NEST\src\Nest\ElasticClient-Bulk.cs:line 15
 at Nest.ElasticClient.IndexMany[T](IEnumerable`1 objects, String index, String type) in c:\Projects\NEST\src\Nest\ElasticClient-Index.cs:line 44
 at ElasticsearchLoad.Program.BuildBulkApi() in c:\Projects\ElasticsearchLoad\ElasticsearchLoad\Program.cs:line 258

任何幫助,將不勝感激!

通過文檔和Elasticsearch配置的組合,您可以發送到Elasticsearch的有效批量大小將受到限制。 對此沒有任何“最佳答案”,但是通過一些測試和配置更改,您應該能夠實現合適的批量索引性能閾值。 這里有一些資源可以幫助您...

對於Elasticsearch的總體大小,我強烈建議閱讀- 調整Elasticsearch的大小-向上和向外擴展

如果您在多節點群集中運行,請確保所有節點的設置都相同。

我不確定這是否可以幫助您,但是在2節點群集中我遇到了類似的問題。 我一直在添加同義詞,並且只為主機設置文件。 我完全忘了將其復制到第二個節點。 這在創建依賴於該同義詞文件的新索引時對我造成了上述錯誤。

添加同義詞文件並重新啟動第二個節點后,一切恢復正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM