We are using Java Rest high-level client to call elasticsearch nodes.
Now we have added a load balancer and enabled SSL. We are not able to access the load balancer URL with Rest client. It throws an error and not able to find any solution like how to call load balancer URL through Java API.
Can someone please help on this?
Code:
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("hostname")));
SearchRequest searchRequest = new SearchRequest("testCollection");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.queryStringQuery("test"));
searchRequest.source(sourceBuilder);
try {
SearchResponse searchResponse=client.search(searchRequest);
String response = searchResponse.toString();
System.out.println("search response :"+ response);
}
catch (IOException e ) {
e.printStackTrace();
}
finally {
try {
client.close();
} catch (IOException e) {
System.out.println("error while closing");
e.printStackTrace();
}
}
Error:
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at org.apache.http.nio.reactor.ssl.SSLIOSession.receiveEncryptedData(SSLIOSession.java:451)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:505)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:120)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588)`enter code here`
at java.lang.Thread.run(Thread.java:748)
Thanks!