storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bobby Evans <>
Subject Re: localOrShuffleGrouping load balanced tuple distribution
Date Tue, 16 Feb 2016 15:34:44 GMT
We are working on way to try to improve this by having the grouping be aware of the load downstream
and try to route tuples locally unless it is overloaded and then send them remotely.
 - Bobby 

    On Tuesday, February 16, 2016 8:27 AM, Nathan Leung <> wrote:

 My guess is this only happens because you have one executor per worker so nothing is local
to the spout anyways.  If your component has number of executors less than your number of
workers it's often better to use shuffle grouping. In your two worker example, half the tuples
would stay local anyways though obviously this decreases as you add workers.On Feb 16, 2016
5:23 AM, "Spico Florin" <> wrote:

Hi, Nathan!  Thank you for your answer. You are right: the only bolts that are used will
be the ones located nearby the spout. The other two will be unused. If we increase the  number
of workers to 5, then it will behave as shuffleGrouping (distributing evenly among the bolts). I
got it! Regards, Florin
On Mon, Feb 15, 2016 at 3:56 PM, Nathan Leung <> wrote:

It will use the local bolts.
On Mon, Feb 15, 2016 at 8:32 AM, Spico Florin <> wrote:

Hello!   Suppose that I have the following scenario1. One spout2. One bolt with hintParallelism
set to 43. Bolt connected with the spout with localOrShuffleGrouping4. 2 slots available5.
We use the the default schedulder (round-robin)
Give the above scenario, the distribution over the workers will be:worker 1: spout, bolt,
boltworker 2: bolt, bolt
Here are my questions:1. Will the spout uses the 4 bolts?2. Will the data distributed evenly
between these bolts?3. Due to localorShuffleGrouping method, only the local bolts will be
used (the ones from the worker 1) or all the workers?
I look forward for your answers.Thank you. Florin

View raw message