# River puts too much load on only one node

**URL:** <https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053>\
**Category:** Elasticsearch\
**Created:** [May 7, 2019, 7:52pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053 "2019-05-07T19:52:57Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 7, 2019, 7:52pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/1 "2019-05-07T19:52:58Z")

</div>

I'm using **Elasticsearch 1.5**. It uses **rivers** to ingest data. I've **3 nodes** in my cluster. The river that ingest large amount of data puts too much load on a specific node. I want to divert this utilization to another node. **Is there any way to balance or totally project this load to any other node in my cluster?**

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [May 7, 2019, 8:01pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/2 "2019-05-07T20:01:46Z")

</div>

This is one of the reasons why rivers were deprecated and largely replaced by Logstash and other external processes. You should really look to upgrade as 1.5 is very, very old.

---

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 7, 2019, 8:05pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/3 "2019-05-07T20:05:34Z")

</div>

Yes you are damn right. But for now i don't have choice to upgrade whole cluster and setup a new one. If you can advise any other option.

By the way thanx for quick rply

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [May 7, 2019, 8:09pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/4 "2019-05-07T20:09:22Z")

</div>

I have not touched rivers in years so am not sure, but do not think there is any way to balance the load as it is always one node that does the processing at any time.

---

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 7, 2019, 8:09pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/5 "2019-05-07T20:09:35Z")

</div>

Can you predict the behaviour if i simply go and set data false to config file of my desired node.  
Will this solve my problem?  
Or  
It may ruins my cluster?  
Or  
Any other ambiguity?

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [May 7, 2019, 8:10pm UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/6 "2019-05-07T20:10:04Z")

</div>

I have no idea. Which river are you using? If it is the JDBC river I believe there is a stand-alone version that you could run outside the cluster in order to get better balance. You might also consider Logstash.

---

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 8, 2019, 7:11am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/7 "2019-05-08T07:11:51Z")

</div>

Yeah I'm using JDBC river

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 8, 2019, 7:23am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/8 "2019-05-08T07:23:03Z")

</div>

Have a look at the jdbc input plugin of logstash then.

---

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 8, 2019, 7:27am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/9 "2019-05-08T07:27:56Z")

</div>

I've used it for earlier. It skips some of my records giving an unresolved error. Whatsoever this is not the solution of my problem. I need to go with rivers and just need to balance or totally divert load.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [May 8, 2019, 7:31am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/10 "2019-05-08T07:31:08Z")

</div>

Not being able to distribute load is an inherent problem with rivers, so as long as you continue using it I do not think you can solve your problem. I believe later versions of the JDBC river allowed execution as a separate process, and this could allow you to move the processing off the ES nodes. Logstash is another option, and I am not aware of any issues like the one you describe so it may be a matter of incorrect configuration.

---

<div class="post-metadata">

**Author:** ![KashiPashoria\_Tonny](https://avatars.discourse-cdn.com/v4/letter/k/d07c76/32.png) [@KashiPashoria\_Tonny](https://discuss.elastic.co/u/KashiPashoria_Tonny)\
**Post date:** [May 8, 2019, 7:39am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/11 "2019-05-08T07:39:20Z")

</div>

> [@Can not convert from long to float logstash](https://discuss.elastic.co/t/can-not-convert-from-long-to-float-logstash/168577):
>
> I'm taking data from sql server to elasticsearch 6.6 using logstash and jdbc. Some of my records are skipped by logstash printing these warning logs: [2019-02-15T16:48:52,630][WARN][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=\>400, :action=\>["index", {:\_id=\>"2111348540", :\_index=\>"order\_tracking1", :\_type=\>"orderstracking\_report", :\_routing=\>nil}, #LogStash::Event:0x14b8bcd8], :response=\>{"index"=\>{"\_index"=\>"order\_tracking1", "\_type"=\>"orderstracking\_repor…

its the issue with logstash I posted when I was using it a couple of months ago and it went unsolved. However, I can't now move back to logstash.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 8, 2019, 7:41am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/12 "2019-05-08T07:41:06Z")

</div>

What is the use case at the end?  
You want to be able to use elasticsearch in your application which is using a sql data store?

I shared most of my thoughts there: [http://david.pilato.fr/blog/2015/05/09/advanced-search-for-your-legacy-application/](http://david.pilato.fr/blog/2015/05/09/advanced-search-for-your-legacy-application/)

Basically, I'd recommend modifying the application layer if possible and send data to elasticsearch in the same "transaction" as you are sending your data to the database.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [May 8, 2019, 7:42am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/13 "2019-05-08T07:42:03Z")

</div>

That issue is due to the default mapping and you need to provide an index template that maps that field as gloat/double.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 8, 2019, 7:42am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/14 "2019-05-08T07:42:40Z")

</div>

BTW I suspect you were using an old version of the stack, right?

Logstash is super stable nowadays. Try version 7.0.1

---

<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:** [June 5, 2019, 7:42am UTC](https://discuss.elastic.co/t/river-puts-too-much-load-on-only-one-node/180053/15 "2019-06-05T07:42:53Z")

</div>

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