无法使用Java API连接到ElasticSearch服务器

编程入门 行业动态 更新时间:2024-10-28 07:28:25
本文介绍了无法使用Java API连接到ElasticSearch服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正尝试使用Java API连接到ElasticSearch服务器。我使用弹性搜索服务来启动/停止和弹性搜索头可视化集群。集群/节点处于活动状态,REST API在9200上通过卷曲工作正常。我已经阅读了关于此主题的每个帖子,但我无法使其正常工作,下面是我的详细信息:

我已尝试所有这些:

  • 使用localhost,devhost1,127.0.0.1 ,或TransportClient中的网络上的实际IP
  • 取消注释config.yaml中的IP属性并放置127.0.0.1(服务器)
  • 检查是否端口9300是可用的,它是。
  • ... 9200 / _cluster / nodes

    {ok:true,cluster_name:test,nodes :{NLVBbJpJTZWefeI2kQt3Tg:{name:inventory_management,transport_address:inet [/127.0.0.1:9300],hostname :devhost1,version:0.90.5,http_address:inet [/127.0.0.1:9200]} } }

    ... 9200 / _cl uster / health?pretty = true

    {cluster_name:test,status:green,timed_out:false,number_of_nodes:1,number_of_data_nodes:1,active_primary_shards active_shards:0,relocating_shards:0,initializing_shards:0,unassigned_shards:0 }

    Java代码

    设置设置= ImmutableSettings.settingsBuilder()。put(cluster.name,test)。put(node.name,inventory_management)。 客户端客户端=新的TransportClient(设置).addTransportAddress(新的InetSocketTransportAddress(localhost,9300)); IndexResponse response = client.prepareIndex(twitter,tweet,1)。setSource(json).execute()。actionGet();

    异常:

    p $ p $ c $ org.elasticsearch.transport.NodeDisconnectedException:[] [inet [localhost / 127.0.0.1:9300]] [/ cluster / nodes / info] org.elasticsearch。 client.transport.NoNodeAvailableException:没有节点可用在org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:138)在org.elasticsearch.client.transport.support.InternalTransportClient.index (InternalTransportClient.java:124)在org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:242)在org.elasticsearch.client.action.index.IndexRequestBuilder.doExecute(IndexRequestBuilder .java:219)在org.elasticsearch.client.action.support.BaseRequestBuilder.execute(BaseRequestBuilder.java:52)在org.elasticsearch.client.action.support.BaseRequestBuilder.execute(BaseRequestBuilder .java:47)

    从客户端登录(Java A PI):

    [2013-10-24 16:37:15,783] [DEBUG] [threadpool.cached] [Aragorn]初始化缓存的线程池与keep_alive [1m],scheduled_size [20] [2013-10-24 16:37:15,809] [DEBUG] [client.transport] [Aragorn] node_sampler_interval [1s] [ 2013-10-24 16:37:15,820] [DEBUG] [netty.channel.socket.nio.NioProviderMetadata]使用自动检测的NIO约束级别:0 [2013-10-24 16:37:15,872] [ DEBUG] [transportty] [Aragorn]连接到节点[[#temp#-1] [inet [localhost / 127.0.0.1:9300]]] [2013-10-24 16:37:15,892] [DEBUG] [transportty] [Aragorn]断开与[[#temp#-1] [inet [localhost / 127.0.0.1:9300]]] [2013-10-24 16:37:15,894] [DEBUG] [client.transport] [Aragorn]无法从[#temp#-1] [inet [localhost / 127.0.0.1:9300]]获取节点信息,从节点列表中删除 org.elasticsearch.transport .NodeDisconnectedException:[] [inet [localhost / 127.0.0.1:9300]] [/ cluster / nodes / info]

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 。

    discovery.zen.ping.multicast.enabled:false discovery.zen.ping.unicast.hosts: localhost#尝试与devhost1 127.0.0.1以及[localhost]也

    这是服务器日志:

    [2013-10-25 13:49:58,379] [INFO] [node] [inventory_management]版本[0.90.5],pid [2426],建立[c8714e8 / 2013-09-17T12:50:20Z] [2013-10-25 13:49:58,379] [INFO] [node] [inventory_management]初始化... [2013-10-25 13:49:58,382] [INFO] [plugins] [inventory_management] loaded [],sites [] [2013-10-25 13:49: 59,853] [INFO] [节点] [inventory_management]已初始化 [2013-10-25 13:49:59,853] [INFO] [节点] [inventory_management]开始... [2013-10- 25 13:49:59,937] [信息] [运输] [inventory_管理] bound_address {inet [/ 0:0:0:0:0:0:0:0:9300]},publish_address {inet [/192.168.1.50:9300]} [2013-10-25 13 :50:02,960] [INFO] [cluster.service] [inventory_management] new_master [inventory_management] [2-uG1xVNSSiLo5RVRrjbGg] [inet [/192.168.1.50:9300]],原因:zen-disco-join(elect_as_master) [2013-10-25 13:50:02,972] [INFO] [discovery] [inventory_management] test / 2-uG1xVNSSiLo5RVRrjbGg [2013-10-25 13:50:02,989] [INFO] [http] inventory_management] bound_address {inet [/ 0:0:0:0:0:0:0:0:9200]},publish_address {inet [/192.168.1.50:9200]} [2013-10-25 13 :50:02,989] [INFO] [节点] [inventory_management]开始 [2013-10-25 13:50:03,024] [INFO] [网关] [inventory_management]将[0]索引恢复到cluster_state [2013-10-25 13:50:09,399] [WARN] [transportty] [inventory_management]在传输层上捕获的异常[[id:0x02649775,/127.0.0.1:50028 => /127.0.0.1:9300]],关闭连接 java.io.StreamCorruptedException:无效的内部传输消息格式在org.elasticsearch.transportty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:27)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.messageReceived (FrameDecoder.java:303)在org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)在org.elasticsearchmonty.OpenChannelsHandler.handleUpstream (OpenChannelsHandler.java:74)在org.elasticsearchmon.ne tty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)在org.elasticsearchmon。 netty.channel.Channels.fireMessageReceived(Channels.java:268)在org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:255)在org.elasticsearchmon。 netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)在org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)在org.elasticsearchmonty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)在org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker .java:90)在org.elasticsearchmonty.channel.socket.nio.NioWorker.run(NioWorker.java:178)在org.elasticsearchmonty.util.ThreadRenamingRunn (.Run.Runable.java:108)在org.elasticsearchmonty.util.internal.DeadLockProofWorker $ 1.run(DeadLockProofWorker.java:42)在java.util.concurrent.ThreadPoolExecutor .runWorker(ThreadPoolExecutor.java:1145)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)在java.lang.Thread.run(Thread.java:724 ) [2013-10-25 13:50:09,403] [WARN] [transportty] [inventory_management]在传输层上捕获的异常[[id:0x02649775,/127.0.0.1:50028:> /127.0.0.1:9300]],关闭连接 java.io.StreamCorruptedException:无效的内部传输消息格式在org.elasticsearch.transportty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:27)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.cleanup (FrameDecoder.java:482)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:365)在org.elasticsearchmonty.channel .SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:102)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel .DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)在org.elasticsearchm onty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmon。 netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)在org.elasticsearchmonty.channel.Channels.fireChannelDisconnected(Channels.java:396)在org.elasticsearchmon。 netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:361)在org.elasticsearchmonty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574)上的org.elasticsearchmonty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:36) )在org.elasticsearchmonty.channel.Channels.clo se(Channels.java:812)在org.elasticsearchmonty.channel.AbstractChannel.close(AbstractChannel.java:197)在org.elasticsearch.transportty.NettyTransport.exceptionCaught( NettyTransport.java:501)在org.elasticsearch.transportty.MessageChannelHandler.exceptionCaught(MessageChannelHandler.java:228)在org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler。 java:112)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream( DefaultChannelPipeline.java:791)在org.elasticsearchmonty.handler.codec.frame.FrameDecoder.exceptionCaught(FrameDecoder.java:377)在org.elasticsearchmonty.channel。 SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)在org.elasticsearchmonty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)在org.elasticsearchmonty.channel.Channels.fireExceptionCaught(Channels.java:525)在org.elasticsearchmonty.channel.AbstractChannelSink.exceptionCaught(AbstractChannelSink.java:48)在org.elasticsearchmonty.channel.DefaultChannelPipeline.notifyHandlerException(DefaultChannelPipeline.java:658)在org.elasticsearchmonty.chann el.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:566)在org.elasticsearchmonty.channel.DefaultChannelPipeline $ DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)在org.elasticsearchmon。 netty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74)在org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)在org.elasticsearchmonty。 channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)在org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:268)在org.elasticsearchmonty。 channel.Channels.fireMessageReceived(Channels.java:255)在org.elasticsearchmonty.channel.socket.nio.NioWorker.read(NioWorker.java:88)在org.elasticsearch。 commonty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109)在org.elasti csearchmonty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)在org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90 )在org.elasticsearchmonty.channel.socket.nio.NioWorker.run(NioWorker.java:178)在org.elasticsearchmonty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable .java:108)在org.elasticsearchmonty.util.internal.DeadLockProofWorker $ 1.run(DeadLockProofWorker.java:42)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor。 java.lang.Thread.run(Thread.java:724) $ java.util.concurrent.ThreadPoolExecutor $ Worker.run ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++

    Java版本:

    java版本1.7.0_25 OpenJDK运行时环境(IcedTea 2.3.12)(7u25-2.3.12-4u buntu3) OpenJDK 64位服务器虚拟机(构建23.7-b01,混合模式) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++

    问题已解决如下。确保您的客户端和服务器版本同步!

    解决方案

    只是这个问题标记为可能会遇到相同的人的回答问题(答案实际上是在问题的结尾)。

    我遇到同样的问题,原来是使用的JAR的版本之间的差异由Java客户端和服务器正在运行的版本。你最好的方法是确保一个完全匹配,然后给出指示这里只是工作没有任何调整。

    另一件要检查的是,您的Java客户端正在使用正确的端口,这是不是 http客户端使用的。正确的端口默认为9300而不是9200,由后者使用。

    I am trying to connect to an ElasticSearch server using the Java API. I using elasticsearch service to start/stop and elasticsearch head for visualising the cluster. The cluster/node is active, the REST API works fine via curl on 9200. I have read pretty much every posts about this topic, yet I can't get it working, below are my details:

    I have tried all these:

  • Using localhost,devhost1,127.0.0.1,or the actual IP on the network in TransportClient
  • Uncommenting the IP properties in config.yaml and putting 127.0.0.1 (server)
  • Checking if port 9300 is available, it is.
  • ...9200/_cluster/nodes

    { "ok": true, "cluster_name": "test", "nodes": { "NLVBbJpJTZWefeI2kQt3Tg": { "name": "inventory_management", "transport_address": "inet[/127.0.0.1:9300]", "hostname": "devhost1", "version": "0.90.5", "http_address": "inet[/127.0.0.1:9200]" } } }

    ...9200/_cluster/health?pretty=true

    { "cluster_name" : "test", "status" : "green", "timed_out" : false, "number_of_nodes" : 1, "number_of_data_nodes" : 1, "active_primary_shards" : 0, "active_shards" : 0, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0 }

    Java Code:

    Settings settings = ImmutableSettings.settingsBuilder().put("cluster.name", "test").put("node.name", "inventory_management").build(); Client client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress("localhost", 9300)); IndexResponse response = client.prepareIndex("twitter", "tweet", "1").setSource(json).execute().actionGet();

    Exception:

    org.elasticsearch.transport.NodeDisconnectedException: [][inet[localhost/127.0.0.1:9300]][/cluster/nodes/info] org.elasticsearch.client.transport.NoNodeAvailableException: No node available at org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:138) at org.elasticsearch.client.transport.support.InternalTransportClient.index(InternalTransportClient.java:124) at org.elasticsearch.client.transport.TransportClient.index(TransportClient.java:242) at org.elasticsearch.client.action.index.IndexRequestBuilder.doExecute(IndexRequestBuilder.java:219) at org.elasticsearch.client.action.support.BaseRequestBuilder.execute(BaseRequestBuilder.java:52) at org.elasticsearch.client.action.support.BaseRequestBuilder.execute(BaseRequestBuilder.java:47)

    Log from Client (Java API):

    [2013-10-24 16:37:15,783][DEBUG][threadpool.cached ] [Aragorn] Initializing cached thread pool with keep_alive[1m], scheduled_size[20] [2013-10-24 16:37:15,809][DEBUG][client.transport ] [Aragorn] node_sampler_interval[1s] [2013-10-24 16:37:15,820][DEBUG][netty.channel.socket.nio.NioProviderMetadata] Using the autodetected NIO constraint level: 0 [2013-10-24 16:37:15,872][DEBUG][transportty ] [Aragorn] Connected to node [[#temp#-1][inet[localhost/127.0.0.1:9300]]] [2013-10-24 16:37:15,892][DEBUG][transportty ] [Aragorn] Disconnected from [[#temp#-1][inet[localhost/127.0.0.1:9300]]] [2013-10-24 16:37:15,894][DEBUG][client.transport ] [Aragorn] Failed to get node info from [#temp#-1][inet[localhost/127.0.0.1:9300]], removed from nodes list org.elasticsearch.transport.NodeDisconnectedException: [][inet[localhost/127.0.0.1:9300]][/cluster/nodes/info]

    +++++++++++++++++++++++

    Tried with Unicast same error in the Java API.

    discovery.zen.ping.multicast.enabled: false discovery.zen.ping.unicast.hosts: "localhost" # Tried with devhost1 127.0.0.1 as well and ["localhost"] too

    This is the server log:

    [2013-10-25 13:49:58,379][INFO ][node ] [inventory_management] version[0.90.5], pid[2426], build[c8714e8/2013-09-17T12:50:20Z] [2013-10-25 13:49:58,379][INFO ][node ] [inventory_management] initializing ... [2013-10-25 13:49:58,382][INFO ][plugins ] [inventory_management] loaded [], sites [] [2013-10-25 13:49:59,853][INFO ][node ] [inventory_management] initialized [2013-10-25 13:49:59,853][INFO ][node ] [inventory_management] starting ... [2013-10-25 13:49:59,937][INFO ][transport ] [inventory_management] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.1.50:9300]} [2013-10-25 13:50:02,960][INFO ][cluster.service ] [inventory_management] new_master [inventory_management][2-uG1xVNSSiLo5RVRrjbGg][inet[/192.168.1.50:9300]], reason: zen-disco-join (elected_as_master) [2013-10-25 13:50:02,972][INFO ][discovery ] [inventory_management] test/2-uG1xVNSSiLo5RVRrjbGg [2013-10-25 13:50:02,989][INFO ][http ] [inventory_management] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.1.50:9200]} [2013-10-25 13:50:02,989][INFO ][node ] [inventory_management] started [2013-10-25 13:50:03,024][INFO ][gateway ] [inventory_management] recovered [0] indices into cluster_state [2013-10-25 13:50:09,399][WARN ][transportty ] [inventory_management] exception caught on transport layer [[id: 0x02649775, /127.0.0.1:50028 => /127.0.0.1:9300]], closing connection java.io.StreamCorruptedException: invalid internal transport message format at org.elasticsearch.transportty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:27) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) at org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearchmonty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) at org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:268) at org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:255) at org.elasticsearchmonty.channel.socket.nio.NioWorker.read(NioWorker.java:88) at org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109) at org.elasticsearchmonty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) at org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90) at org.elasticsearchmonty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.elasticsearchmonty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.elasticsearchmonty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) [2013-10-25 13:50:09,403][WARN ][transportty ] [inventory_management] exception caught on transport layer [[id: 0x02649775, /127.0.0.1:50028 :> /127.0.0.1:9300]], closing connection java.io.StreamCorruptedException: invalid internal transport message format at org.elasticsearch.transportty.SizeHeaderFrameDecoder.decode(SizeHeaderFrameDecoder.java:27) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.cleanup(FrameDecoder.java:482) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.channelDisconnected(FrameDecoder.java:365) at org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:102) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearchmonty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) at org.elasticsearchmonty.channel.Channels.fireChannelDisconnected(Channels.java:396) at org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:361) at org.elasticsearchmonty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:81) at org.elasticsearchmonty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:36) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:574) at org.elasticsearchmonty.channel.Channels.close(Channels.java:812) at org.elasticsearchmonty.channel.AbstractChannel.close(AbstractChannel.java:197) at org.elasticsearch.transportty.NettyTransport.exceptionCaught(NettyTransport.java:501) at org.elasticsearch.transportty.MessageChannelHandler.exceptionCaught(MessageChannelHandler.java:228) at org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearchmonty.handler.codec.frame.FrameDecoder.exceptionCaught(FrameDecoder.java:377) at org.elasticsearchmonty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:112) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearchmonty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) at org.elasticsearchmonty.channel.Channels.fireExceptionCaught(Channels.java:525) at org.elasticsearchmonty.channel.AbstractChannelSink.exceptionCaught(AbstractChannelSink.java:48) at org.elasticsearchmonty.channel.DefaultChannelPipeline.notifyHandlerException(DefaultChannelPipeline.java:658) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:566) at org.elasticsearchmonty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) at org.elasticsearchmonty.OpenChannelsHandler.handleUpstream(OpenChannelsHandler.java:74) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) at org.elasticsearchmonty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) at org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:268) at org.elasticsearchmonty.channel.Channels.fireMessageReceived(Channels.java:255) at org.elasticsearchmonty.channel.socket.nio.NioWorker.read(NioWorker.java:88) at org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109) at org.elasticsearchmonty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) at org.elasticsearchmonty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90) at org.elasticsearchmonty.channel.socket.nio.NioWorker.run(NioWorker.java:178) at org.elasticsearchmonty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) at org.elasticsearchmonty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) +++++++++++++++++++++++ +++++++++++++++++++++++

    Java version:

    java version "1.7.0_25" OpenJDK Runtime Environment (IcedTea 2.3.12) (7u25-2.3.12-4ubuntu3) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) +++++++++++++++++++++++ +++++++++++++++++++++++ +++++++++++++++++++++++

    Issue has been solved as per below. Make sure your client and server versions are in sync!

    解决方案

    Just so this question is marked answered for others who may experience the same issue (the answer is actually at the end of the question).

    I ran into the same issue and it turned out to be a discrepancy between the version of the JAR used by the Java client and the version the server was running. Your best bet is to ensure an exact match, then the instructions given here just work w/o any tweaking.

    Another thing to check is that your Java client is using the correct port, which is not the one used by http clients. The correct port defaults to 9300 rather than 9200, which is used by the latter.

    更多推荐

    无法使用Java API连接到ElasticSearch服务器

    本文发布于:2023-10-29 03:13:43,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1538550.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:连接到   服务器   Java   API   ElasticSearch

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!