ES-hive integration error- 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'

(BPS) #1

Hi,

I am trying to push data from a Hive(1.2.1000.2.6.3.0-235) table over to ElasticSearch ("version":
: "6.6.1") in the secured environment. I have tried numerous combinations of properties for the TBL_PROPERTIES of the "CREATE EXTERNAL TABLE" but nothing works.

  1. Created codac_booktest via kibana with normal mapping

  2. Added jar:
    add jar /usr/hdp/current/hive-webhcat/share/elasticsearch-hadoop-6.6.1.jar;(local file system)
    add jar /tmp/es_truststore_ut/commons-httpclient-3.0.jar;(local file system)

CREATE EXTERNAL TABLE bookstest ( bookId STRING, author STRING, publisher STRING, name STRING) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.nodes' = 'infnt010112', 'es.port' = '9200','es.net.ssl'='true','es.net.ssl.protocol'='SSL', 'es.nodes.wan.only'= 'TRUE', 'es.net.ssl.keystore.location'='file:///tmp/es_truststore_ut/infyn010143_keystore.jks','es.net.ssl.keystore.pass'='','es.net.ssl.truststore.location'='file:///tmp/es_truststore_ut/codac_ut_truststore','es.net.ssl.truststore.pass'='','es.nodes.discovery' = 'false', 'es.net.ssl.keystore.type'='JKS','es.net.http.auth.user'='username', 'es.net.http.auth.pass'='********', 'es.resource' = 'codac_booktest/books');

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. 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'