ES 1.6 - Integration test NOT in local mode (with http)

(Kamil Dziubliński) #1


I am using your ElasticsearchIntegrationTest class to test my MR job. In 1.4.2 there was no problem to get http address from cluster.

This method returned me what I needed to provide to my MR job:
InetSocketAddress inetSocketAddress = cluster().httpAddresses()[0];

Now I upgraded to 1.6.0 and it seems the cluster is starting all nodes in local mode and the same method throws GuiceConfiguration error:
org.elasticsearch.common.inject.ConfigurationException: Guice configuration errors:

  1. No implementation for org.elasticsearch.http.HttpServerTransport was bound.
    while locating org.elasticsearch.http.HttpServerTransport

The error itself of course makes sense cause all nodes are local.

The question is how can I now get http address and port so that I could still use it with my MR job.
Do I have to give some extra settings so that this integration test will create not local nodes?

Thanks for any help.


(Thibaultclem) #2

Hi Kamil,
I encountered the same issue.
Did you finally find a way to manage this ?

(Kamil Dziubliński) #3


Sorry for late reply. I solved that problem by getting away from their class, I wasn’t able to make it work the way I wanted.
Right now I’m just starting a node using nodeBuilder and setting local to false.

Then later just publishing http address. If you will need some code sample how to do it let me know.


(Thibaultclem) #4

Thanks but like you I finally managed it

(system) #5