elasticsearch 无法在Elasticsearch中执行搜索,错误“;嗅探群集状态失败。”;
我在Elasticsearch中遇到了一个奇怪的问题,其中只有搜索API失败,并显示消息“Failed sniffing cluster state.”。其他API如Bulk和CreateIndex等工作正常。代码在其他系统中也可以工作,所以我很确定这只是我本地系统的问题。详情如下: 我正在使用SniffingConnectionPool创建ElasticClient。弹性集群是在另一台机器上设置的,当我在代码运行的同一台机器上使用弹性实例设置时,一切都正常 以下是我在返回的响应中找到的各种异常对象的堆栈跟踪:
elasticsearch 无法在Elasticsearch中执行搜索,错误“;嗅探群集状态失败。”;,
elasticsearch,nest,
elasticsearch,Nest,我在Elasticsearch中遇到了一个奇怪的问题,其中只有搜索API失败,并显示消息“Failed sniffing cluster state.”。其他API如Bulk和CreateIndex等工作正常。代码在其他系统中也可以工作,所以我很确定这只是我本地系统的问题。详情如下: 我正在使用SniffingConnectionPool创建ElasticClient。弹性集群是在另一台机器上设置的,当我在代码运行的同一台机器上使用弹性实例设置时,一切都正常 以下是我在返回的响应中找到的各种异常
Unsuccessful low level call on GET: /_nodes/http,settings?timeout=2s&flat_settings=true
# Audit trail of this API call:
# OriginalException: System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8888
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at Elasticsearch.Net.HttpConnection.Request[TResponse](RequestData requestData)
# Request:
<Request stream not captured or already read to completion by serializer. Set DisableDirectStreaming() on ConnectionSettings to force it to be set on the response.>
# Response:
<Response stream not captured or already read to completion by serializer. Set DisableDirectStreaming() on ConnectionSettings to force it to be set on the response.>
No connection could be made because the target machine actively refused it 127.0.0.1:8888
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
两个节点对以下请求的响应:
{
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAAvFmk2TnZ1ZzN6UTVXdjVLai13aVBDZGcAAAAAAAAALRZRLWFwWk9BZFR3dXZSNkQ1a2ZHRjJnAAAAAAAAADEWaTZOdnVnM3pRNVd2NUtqLXdpUENkZwAAAAAAAAAuFlEtYXBaT0FkVHd1dlI2RDVrZkdGMmcAAAAAAAAAMBZpNk52dWczelE1V3Y1S2otd2lQQ2Rn",
"took": 1986,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.683245,
"hits": [{
"_index": "50000_default_contentindex_636723112889619049",
"_type": "_doc",
"_id": "2492241",
"_score": 1.683245,
"_source": {
"module_id": 528,
"content_id": 2492241,
"module_type_id": 2,
"level_id": 330
}
}]
}
}<InnerException>
<ExceptionType>Elasticsearch.Net.PipelineException, Elasticsearch.Net, Version=6.0.0.0, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d</ExceptionType>
<Message>An error occurred trying to read the response from the specified node.</Message>
<Source>Elasticsearch.Net</Source>
<StackTrace> at Elasticsearch.Net.RequestPipeline.Sniff()</StackTrace>
</InnerException>
Elasticsearch.Net.PipelineException,Elasticsearch.Net,版本=6.0.0.0,区域性=中性,PublicKeyToken=96c599bbe3e70f5d
尝试从指定节点读取响应时出错。
Elasticsearch.Net
在Elasticsearch.Net.RequestPipeline.Sniff()中
您是否将嗅探连接池
用于单节点群集?@RussCam否,我的群集有多个节点。这只是在我的本地系统中发生的事情,看起来某个进程正在阻止嗅探。您可以捕获嗅探请求的响应,并编辑问题以包含它吗?我怀疑publish\u address
(或者未设置publish\u address
时的第一个bound\u address
)是节点无法访问的地址。@Russcan感谢您在这里帮助我,我不知道如何捕获嗅探请求,但我根据使用fiddler发现的内容在这里添加了一些其他详细信息。根据这些日志,我可以说问题不在于Elastic集群,而在于NEST\ElasticSearch.NetNEST版本6.1.0和ElasticSearch版本6.2.4。只是一个更新,我不再收到这个错误。它现在开始运转良好,没有任何变化
<InnerException>
<ExceptionType>Elasticsearch.Net.PipelineException, Elasticsearch.Net, Version=6.0.0.0, Culture=neutral, PublicKeyToken=96c599bbe3e70f5d</ExceptionType>
<Message>An error occurred trying to read the response from the specified node.</Message>
<Source>Elasticsearch.Net</Source>
<StackTrace> at Elasticsearch.Net.RequestPipeline.Sniff()</StackTrace>
</InnerException>