I am trying to use hive to load data from my two nodes elasticsearch cluster to the Microsoft Azure Hadoop cluster called HDInsight.
I use > curl 'localhost:9200/_cat/master?v' to check my ES cluster master, assume that it is 192.168.0.48
I start the Hive and ADD JAR /path/to/elasticsearch-hadoop-2.3.2.jar
I create an external table shown as follow and it is success.
CREATE EXTERNAL TABLE test(time TIMESTAMP, host STRING, type STRING, message STRING ) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES( 'es.resource'='logstash-2016.06.07/syslog', 'es.nodes'='192.168.0.48', 'es.port'='9200', 'es.nodes.wan.only'='true' , 'es.mapping.names' = 'time:@timestamp , host:host , type:type , message:message');
So far, everything is OK.
But when I use the ES-hadoop to load the data from elasticsearch cluster to Azure HDInsight, it has an error.
Failed with exception java.io.IOException:org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Cannot detect ES version - typically this happens if the network/Elasticsearch cluster is not accessible or when targeting a WAN/Cloud instance without the proper setting 'es.nodes.wan.only'
I setup the es.nodes.wan.only to both true and false and always get this error.
Could someone give me any help?