0

I'm trying to connect to my elasticsearch server over SSL and tried lots of different things but couldn't fix the problem. Currently I'm using elasticsearch 2.3.3 and jdk1.7.0_79.

EDIT: Firstly I was trying to connect using Elastic JAVA Api in Netbeans using the following code:

Settings settings = Settings.settingsBuilder()
    .put("cluster.name", CLUSTER_NAME)
    .put("shield.user", "USER:PASSWORD")
    .put("transport.ssl.keystore.path", "/usr/share/elasticsearch/bin/shield/KEYSTORE.jks")
    .put("transport.ssl.keystore.keystore_password", KEYSTORE_PASSWORD)
    .put("shield.transport.ssl", true).build();

Client client = TransportClient.builder().settings(settings).build()
    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(HOST), 9300));

The previous example worked well with my localhost server of elastic but when I tried to migrate it to my web server that uses SSL it keeps outputing each 5 seconds the following:

976 [main] DEBUG org.elasticsearch.client.transport  - [Miguel Espinosa] adding address [{#transport#-1}{IP_ADDRESS}{HOST/IP_ADDRESS:9300}]
1059 [main] DEBUG org.elasticsearch.transport.netty  - [Miguel Espinosa] connected to node [{#transport#-1}{IP_ADDRESS}{HOST/IP_ADDRESS:9300}]
1200 [elasticsearch[Miguel Espinosa][generic][T#1]] DEBUG org.elasticsearch.transport.netty  - [Miguel Espinosa] disconnecting from [{#transport#-1}{IP_ADDRESS}{HOST/IP_ADDRESS:9300}], channel closed event
1238 [main] INFO org.elasticsearch.client.transport  - [Miguel Espinosa] failed to get node info for {#transport#-1}{IP_ADDRESS}{HOST/IP_ADDRESS:9300}, disconnecting...
NodeDisconnectedException[[][HOST/IP_ADDRESS:9300][cluster:monitor/nodes/liveness] disconnected]  

After that, now I'm trying to connect to elastic using found-shield but when I run the example that should work it outputs the following:

[2016-07-04 08:38:10,455][INFO ][no.found.elasticsearch.example.TransportExample] Connecting to cluster: [CLUSTER_ID] via [CLUSTER_ID.REGION.aws.found.io:9343] using ssl:[true]
[2016-07-04 08:38:10,688][INFO ][org.elasticsearch.plugins] [Neuronne] modules [], plugins [shield], sites []
[2016-07-04 08:38:10,983][INFO ][org.elasticsearch.transport] [Neuronne] Using [org.elasticsearch.shield.transport.ShieldClientTransportService] as transport service, overridden by [shield]
[2016-07-04 08:38:10,987][INFO ][org.elasticsearch.transport] [Neuronne] Using [org.elasticsearch.shield.transport.netty.ShieldNettyTransport] as transport, overridden by [shield]
[2016-07-04 08:38:12,051][INFO ][org.elasticsearch.client.transport] [Neuronne] failed to get node info for {#transport#-1}{IP_ADDRESS}{CLUSTER_ID.REGION.aws.found.io/IP_ADDRESS:9343}, disconnecting...
org.elasticsearch.transport.RemoteTransportException: [Failed to deserialize exception response from stream]
org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
        at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:200) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:136) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) ~[netty-3.10.5.Final.jar:na]
        at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) ~[netty-3.10.5.Final.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_79]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_79]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_79]
Caused by: java.io.IOException: failed to read exception for id [40]
        at org.elasticsearch.ElasticsearchException.readException(ElasticsearchException.java:246) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.common.io.stream.StreamInput.readThrowable(StreamInput.java:506) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:198) ~[elasticsearch-2.3.3.jar:2.3.3]
        ... 30 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_79]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_79]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_79]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_79]
        at org.elasticsearch.ElasticsearchException.readException(ElasticsearchException.java:244) ~[elasticsearch-2.3.3.jar:2.3.3]
        ... 32 common frames omitted
Caused by: java.lang.IndexOutOfBoundsException: Readable byte limit exceeded: 118
        at org.jboss.netty.buffer.AbstractChannelBuffer.readByte(AbstractChannelBuffer.java:236) ~[netty-3.10.5.Final.jar:na]
        at org.elasticsearch.transport.netty.ChannelBufferStreamInput.readByte(ChannelBufferStreamInput.java:132) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.common.io.stream.StreamInput.readString(StreamInput.java:254) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.common.io.stream.StreamInput.readOptionalString(StreamInput.java:233) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.ElasticsearchException.<init>(ElasticsearchException.java:88) ~[elasticsearch-2.3.3.jar:2.3.3]
        at org.elasticsearch.index.query.QueryParsingException.<init>(QueryParsingException.java:114) ~[elasticsearch-2.3.3.jar:2.3.3]
        ... 37 common frames omitted

I'm new to elasticsearch so if something misses please ask me that I'll try to provide you with it quickly. I've also checked other similar questions such as SSL Elasticsearch

Thanks, Emanuel

2
  • Welcome to Stack Overflow :-) Please look at How to Ask and minimal reproducible example. Show us what you've tried. This will help to get useful answers. Commented Jul 4, 2016 at 8:48
  • @Ulrich thanks for your feedback, I've added some new informations of my previous attempt to solve the problem. Commented Jul 4, 2016 at 9:52

1 Answer 1

0

As described in documentation you should syncronize JDK releases:

In few locations in Elasticsearch, Java’s native serialization is used (IP addresses, exceptions, and so forth). Unfortunately, Oracle has been known to change the serialization format between minor releases, leading to strange errors. This happens rarely, but it is best practice to keep the JVM versions identical between client and server.

You can read more here

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.