Hive ES issue

Anyone of you please help me in solving this problem. I'm trying to create a hive table on elasticsearch 6.2 where ssl is enabled.but not able to create the table, getting "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" issue.

I have added elasticsearch 6.2.2 handler and required jks file to the terminal and passed below parameters in table properties. but getting the wan only issues. I'm not understanding where it went wrong. I'm able to create the elastic search index from shell using the elastic user id and password by passing the certificates.

CREATE EXTERNAL TABLE if not exists hive_on_elastic(
id1 string,
anotherId string)
COMMENT 'This is external table on ElasticSearch'
STORED BY
'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES (
"es.index.auto.create"="false",
"es.nodes"="Node Name",
"es.port"="9200",
"es.resource"="index/type",
"es.net.http.auth.user"="elsticUser",
"es.batch.size.bytes"="10mb",
"es.net.http.auth.pass"="elasticPassword",
"es.net.ssl.protocol"="SSL",
"es.net.ssl"="true",
"es.net.ssl.truststore.location"="fileName.jks",
"es.net.ssl.truststore.pass"="jksPassword",
"es.batch.size.entries"="0",
"es.mapping.names"="id1:id",
"es.mapping.id"="anotherUniqueId");
1 Like

@manoj_kumar3 Is your trust store file on the job's classpath? If not, you will need to reference the trust store file using the file:///path/to/local/truststore.jks format instead of just the file name. Additionally, the trust store will need to be on all nodes of your hive deployment in the same place.

If that is already the case, can you please share the logs from the Hive worker nodes that failed?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.