Client-only routing specified but no client nodes with HTTP-enabled were found in the cluster

Hİ,

We have elasticsearch 6.5.4 version and Cloudera 5.4.7-1 version. We installed elasticsearch-hadoop-2.1.1.jar to connect between hdfs and elasticsearch. Then the hive table below were created to fetch the data from elasticsearch.

CREATE EXTERNAL TABLE TEST_ES_TBL (
    st      string)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'
TBLPROPERTIES('es.nodes' = '10.51.29.105', 'es.port' = '9200', 'es.resource' = 'test/docs',
              'es.mapping.names' = 'st: str', 'es.index.auto.create'='true'); 

But it gives the error like that;

java.io.IOException: org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Client-only routing specified but no client nodes with HTTP-enabled were found in the cluster...

We also set the "es.nodes.client.only" = "true" but nothing happens. Can you help us to solve the problem, please? What is the point we miss?

Any help would be appreciated. Thanks.

I would double check your hive and hadoop settings to see if there are any properties that enable client-only routing. Something in the deployment is setting that property and it's getting into the storage handler, thus causing errors in the submission of the query.

Is there any suggestion to look a specific parameter or settings file to find out the error?

I'm looking to elasticsearch.yml but nothing found.

Thanks.

These would be settings in your Hadoop configurations or in your Hive configurations

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