This is a connection Timeout error when Dremio connects to the configured elastic search server.
Please make sure that you can connect to the elastic search server and port from the Dremio server.
You can use a curl command like this : curl ‘http://elastic-search-host:9200/?pretty’
So you can connect from Dremio host to the ES Host independently of Dremio. Could you please check the ES logs to see if there are any further error information when Dremio makes the connection attempt ?
Hey @loek we were able to reproduce the issue you’ve run into with Elastic Cloud and will reach out once we have an update here.
So far, we’ve been mainly focusing our testing efforts around on-premise Elasticsearch deployments, since this happened to be the case for all current Elasticsearch/Dremio deployments we have.
I noticed this problem as well when connecting to a self-hosted cluster (on Azure, behind a load balancer) from Dremio installed on my local (windows) machine.
The connection succeeds at first, after which Dremio gets a list of ES-hosts. This host list are all local ip-addresses (10.xxxxx), and I have the feeling that this is the ip-address to which Dremio is trying to connect (instead of always using the load balancer ip-adress I entered).
When I ran Dremio on a Elasticsearch node, it worked perfectly.
I believe Dremio attempts to connect to the http.publish_host address exposed by each of the ElasticSearch nodes - this needs to be a routable address since Dremio runs searches directly against the data nodes where the relevant shards are located for maximum parallelism and throughput.
I’ve got the same behavior here, emulating an ES cluster inside a docker machine. Dremio gets the list of nodes’ IPs from _cat/nodes API and tries to connect on those.
The plugin gets the information about the nodes with NodesInfo at ElasticConnectionPool.java:297 object from ES’s API. I think that one workaround could be escaping this method just like when we have a local address [ElasticsearchStoragePlugin2.java:127], connecting only to the address that we provide on the connection config screen.
Hi @woundvision - I’m not sure if this is the same underlying issue, but we expect this to be addressed in our 1.2 version, which should be available in a few weeks.
Just downloaded Dremio 1.4.4 the other day on Mac High Sierra 10.13.2
I’m running Dremio by specifying Java 8: JAVA_HOME=$(/usr/libexec/java_home -v 1.8) open /Applications/Dremio.app
Attempting to connect to an ES cluster (running 5.6.7) hosted by Elastic (cloud.elastic.co). I’m using credentials for a superuser and can curl any endpoint including _cluster/health so I can confirm there’s no auth issues yet, I’m getting the same error that started this thread:
2018-02-20 22:35:47,427 [qtp103272111-196] INFO c.d.p.elastic.ElasticConnectionPool - User Error Occurred [ErrorId: 39cb7e12-5d4d-4175-bd9d-e5e9314c3190]
com.dremio.common.exceptions.UserException: Encountered a problem while executing com.dremio.plugins.elastic.ElasticActions$Health@7d4379eb. Cannot get cluster health information. Please make sure that the user has [cluster:monitor/health] privilege.
I can easily connect to a local instance of elasticsearch but seemingly unable to connect to a hosted cluster.
Any guidance you can provide would be great. Thanks.