Spring mvc Elasticsearch未启动,但引发ReceiveTimeoutTransportException
我尝试将弹性搜索与JavaAPI结合使用,但当我尝试运行应用程序时,我遇到了以下异常Spring mvc Elasticsearch未启动,但引发ReceiveTimeoutTransportException,spring-mvc,
elasticsearch,spring-data,Spring Mvc,
elasticsearch,Spring Data,我尝试将弹性搜索与JavaAPI结合使用,但当我尝试运行应用程序时,我遇到了以下异常 18:13:52.378 [elasticsearch[Fallen One][generic][T#1]] INFO org.elasticsearch.client.transport - [Fallen One] failed to get local cluster state for [#transport#-1][integra][inet[/127.0.0.1:9300]], discon
18:13:52.378 [elasticsearch[Fallen One][generic][T#1]] INFO org.elasticsearch.client.transport - [Fallen One] failed to get local cluster state for [#transport#-1][integra][inet[/127.0.0.1:9300]], disconnecting...
org.elasticsearch.transport.ReceiveTimeoutTransportException: [][inet[/127.0.0.1:9300]][cluster/state] request_id [52] timed out after [5001ms]
at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:356) [elasticsearch-1.0.1.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
18:13:52.381 [elasticsearch[Fallen One][generic][T#1]] DEBUG org.elasticsearch.transport.netty - [Fallen One] disconnected from [[#transport#-1][integra][inet[/127.0.0.1:9300]]]
18:13:52.391 [elasticsearch[Fallen One][generic][T#3]] DEBUG org.elasticsearch.transport.netty - [Fallen One] connected to node [[#transport#-1][integra][inet[/127.0.0.1:9300]]]
连接到弹性搜索的代码为
private String[] esNodes = { "127.0.0.1:9300" };
protected TransportClient buildClient() throws Exception {
Settings settings = ImmutableSettings.settingsBuilder()
.put("client.transport.sniff", true)
.put("client.transport.ignore_cluster_name",true).build();
TransportClient client = new TransportClient(settings);
for (int i = 0; i < esNodes.length; i++) {
client.addTransportAddress(toAddress(esNodes[i]));
}
return client;
}
private InetSocketTransportAddress toAddress(String address) {
if (address == null) return null;
String[] splitted = address.split(":");
int port = 9300;
if (splitted.length > 1) {
port = Integer.parseInt(splitted[1]);
}
return new InetSocketTransportAddress(splitted[0], port);
}
private String[]esNodes={“127.0.0.1:9300”};
受保护的TransportClient buildClient()引发异常{
设置设置=ImmutableSettings.settingsBuilder()
.put(“client.transport.sniff”,true)
.put(“client.transport.ignore_cluster_name”,true).build();
TransportClient=新的TransportClient(设置);
对于(int i=0;i1){
port=Integer.parseInt(拆分为[1]);
}
返回新的InetSocketTransportAddress(拆分的[0],端口);
}
有人能帮我吗?我是弹性搜索新手,不知道如何解决这个问题。我正在使用此代码连接到我的弹性搜索,它工作得很好
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", clusterName).build();
this.client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(ipAddress,9300));
其中ipAddress和Clustername是我函数的参数 我认为弹性搜索服务器没有启动。。尝试在浏览器中点击或卷曲注释。。如果行得通。。请尝试上面的代码 注意:如果您的JAVA API JAR版本也不同,则会引发问题。。(获取与ES版本相同的java api版本 注意:elasticsearch java api帮助您使用elasticsearch连接到..但它无法使用api启动elasticsearch节点
你的代码很好。它也是Vry标准的。你应该看看你的笔记本电脑上的网络。检查你是否可以连接到本地主机。另一件事你可以尝试用相同的配置启动两个elasticsearch实例,看看它们是否连接。最后看看elasticsearch.yml的网络部分本地机器上的问题我通常尝试以下两种选择: network.host:localhost discovery.zen.ping.multicast.enabled:false
discovery.zen.ping.unicast.hosts:[“localhost”]投票被否决的人,请说明原因。!