我正尝试使用Java API连接到ElasticSearch服务器。我使用弹性搜索服务来启动/停止和弹性搜索头可视化集群。集群/节点处于活动状态,REST API在9200上通过卷曲工作正常。我已经阅读了关于此主题的每个帖子,但我无法使其正常工作,下面是我的详细信息:
我已尝试所有这些:
... 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:
...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"] tooThis 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服务器
发布评论