# Client-only routing specified but no client nodes with HTTP-enabled available

**URL:** <https://discuss.elastic.co/t/client-only-routing-specified-but-no-client-nodes-with-http-enabled-available/22459>\
**Category:** Elasticsearch\
**Created:** [March 2, 2015, 3:49am UTC](https://discuss.elastic.co/t/client-only-routing-specified-but-no-client-nodes-with-http-enabled-available/22459 "2015-03-02T03:49:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![anil\_gupta](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@anil\_gupta](https://discuss.elastic.co/u/anil_gupta)\
**Post date:** [March 2, 2015, 3:49am UTC](https://discuss.elastic.co/t/client-only-routing-specified-but-no-client-nodes-with-http-enabled-available/22459/1 "2015-03-02T03:49:04Z")

</div>

Hi,  
I am using Elastic Search(ES) 1.4 and Hortonworks 2.1.5(Yarn for  
MapReduce2+). I am still getting my feet wet in ES.  
I have a ES cluster with 3 client nodes(non data and master). Initially, i  
encountered this issue:

> <https://github.com/elastic/elasticsearch-hadoop/issues/373>

To resolve Issue#373, I downloaded the nightly build that has the fix. I  
have set es.nodes.discovery to false and es.nodes.client.only to true. Now,  
i am getting this error message:

2015-03-01 10:13:54,117 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Client-only routing specified but no client nodes with HTTP-enabled available; node discovery is disabled and none of nodes specified fits the criterion  
[clientapp1:9200, clientapp2:9200, clientapp3:9200]  
at org.elasticsearch.hadoop.rest.InitializationUtils.filterNonClientNodesIfNeeded(InitializationUtils.java:103)  
at org.elasticsearch.hadoop.rest.RestService.createWriter(RestService.java:372)  
at org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.init(EsOutputFormat.java:173)  
at org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.write(EsOutputFormat.java:149)  
at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:635)  
at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)  
at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)  
at com.truecar.hadoop.inventory.FailReport$FailReportMapper.map(FailReport.java:42)  
at com.truecar.hadoop.inventory.FailReport$FailReportMapper.map(FailReport.java:22)  
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)  
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)  
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)  
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)  
at java.security.AccessController.doPrivileged(Native Method)  
at javax.security.auth.Subject.doAs(Subject.java:415)  
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)  
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)

I have verified that the cluster is running in healthy state and those 3 nodes have  
http": {"enabled": "true","cors": {"enabled": "true"}}.  
Can anyone guide me what could be wrong over here. Do i need to add other properties in my job client nodes.  
Please let me know if any additional information is required.

I added this dependency in my project:  
  
org.elasticsearch  
elasticsearch-hadoop-mr  
2.1.0.BUILD-SNAPSHOT

Thanks,  
Anil Gupta

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/ff8ea773-9ae3-4b6e-b2c1-43a16dd09b19%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/ff8ea773-9ae3-4b6e-b2c1-43a16dd09b19%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![anil\_gupta](https://avatars.discourse-cdn.com/v4/letter/a/58956e/32.png) [@anil\_gupta](https://discuss.elastic.co/u/anil_gupta)\
**Post date:** [March 2, 2015, 7:14am UTC](https://discuss.elastic.co/t/client-only-routing-specified-but-no-client-nodes-with-http-enabled-available/22459/2 "2015-03-02T07:14:28Z")

</div>

After changing es.nodes.discovery=true, my job started working. I am not  
sure how it fixed my problem. If someone can briefly explain this behavior,  
it would be of great help.

On Sunday, March 1, 2015 at 7:49:05 PM UTC-8, anil gupta wrote:

> Hi,  
> I am using Elastic Search(ES) 1.4 and Hortonworks 2.1.5(Yarn for  
> MapReduce2+). I am still getting my feet wet in ES.  
> I have a ES cluster with 3 client nodes(non data and master). Initially, i  
> encountered this issue:  
> [[Spark]Is there a way to make elasticsearch-hadoop stick to the load-balancer(client), instead of going trying to ping all the data nodes? · Issue #373 · elastic/elasticsearch-hadoop · GitHub](https://github.com/elasticsearch/elasticsearch-hadoop/issues/373)
> 
> To resolve Issue#373, I downloaded the nightly build that has the fix. I  
> have set es.nodes.discovery to false and es.nodes.client.only to true.  
> Now, i am getting this error message:
> 
> 2015-03-01 10:13:54,117 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child : org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Client-only routing specified but no client nodes with HTTP-enabled available; node discovery is disabled and none of nodes specified fits the criterion  
> [clientapp1:9200, clientapp2:9200, clientapp3:9200]  
> at org.elasticsearch.hadoop.rest.InitializationUtils.filterNonClientNodesIfNeeded(InitializationUtils.java:103)  
> at org.elasticsearch.hadoop.rest.RestService.createWriter(RestService.java:372)  
> at org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.init(EsOutputFormat.java:173)  
> at org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.write(EsOutputFormat.java:149)  
> at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.write(MapTask.java:635)  
> at org.apache.hadoop.mapreduce.task.TaskInputOutputContextImpl.write(TaskInputOutputContextImpl.java:89)  
> at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.write(WrappedMapper.java:112)  
> at com.truecar.hadoop.inventory.FailReport$FailReportMapper.map(FailReport.java:42)  
> at com.truecar.hadoop.inventory.FailReport$FailReportMapper.map(FailReport.java:22)  
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)  
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)  
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)  
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)  
> at java.security.AccessController.doPrivileged(Native Method)  
> at javax.security.auth.Subject.doAs(Subject.java:415)  
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)  
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
> 
> I have verified that the cluster is running in healthy state and those 3 nodes have  
> http": {"enabled": "true","cors": {"enabled": "true"}}.  
> Can anyone guide me what could be wrong over here. Do i need to add other properties in my job client nodes.  
> Please let me know if any additional information is required.
> 
> I added this dependency in my project:  
>   
> org.elasticsearch  
> elasticsearch-hadoop-mr  
> 2.1.0.BUILD-SNAPSHOT
> 
> Thanks,  
> Anil Gupta

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/c841bc4a-b68c-47d0-8df1-0fdf287f4256%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/c841bc4a-b68c-47d0-8df1-0fdf287f4256%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:29am UTC](https://discuss.elastic.co/t/client-only-routing-specified-but-no-client-nodes-with-http-enabled-available/22459/3 "2017-07-06T00:29:10Z")

</div>


