Now every time I attempt to connect to Found, I always get EsHadoopInvalidRequest: null error. Looking a bit deeper into the code, the error seems to be caused by 404 Not Found response because I assume that the library attempts to hit the ES API using the ip address instead of the provided host url.
Manually hitting the API using the ip address through the browser returns this: {"ok":false,"message":"Unknown cluster."}
but when I hit the remote ip address instead (e.g. x.x.x.x:9200), it returns with: {"ok":false,"message":"Unknown cluster."}
I think that is the cause of the issue, the elasticsearch-hadoop library resolves the URL in es.nodes parameter to its remote ip address and use it to make the HTTP request.
Yeah i know about that setting and had also tried turning it on with no luck. The library is still making http requests using the remote ip address instead of the host url.
It is weird that Found does not like it and returns with 404 instead. FYI I also tried AWS new ES Service and it works fine. Hitting either the remote ip or the URL returns back 200 with the expected JSON body.
See https://github.com/elastic/elasticsearch-hadoop/issues/640
Basically hostnames or IPs represent the same thing - hosts. So when dealing with lookups, one needs to resolve them to one single form that can be used for comparison. Hostnames are notoriusly problematic since there can be multiple hostnames pointing to the same ip, there can be aliases, etc...
So using the IP instead is a great way of making things simpler.
@d3nyable A solution to your case would be making resolution optional and maybe even disabling it by default for wan cases.
Hi igor_k,
I am new to this ELK stack and need your help regarding the Native Authentication.
While performing a ES-HIVE integration, per your response , we need to define "es.net.http.auth.user and es.net.http.auth.pass properties." as part of the table DDL. Quentions is how to secure the credentials as anyone having read access to table metadata/execution access for "show create table" can access the credentials.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.