Take a look at "topology.optimize" and "storm.scheduler"
I had the same issue and I found that setting topology.optimize to false and storm.scheduler to "backtype.storm.scheduler.EvenScheduler" gave me the even distribution of components I was looking for. On Fri, Mar 21, 2014 at 2:50 AM, bijoy deb <[email protected]>wrote: > Hi, > > I am running a topology using Storm (version 0.9.1),on a cluster of 3 > nodes (3x4=12 slots). My topology has 1 spout(parallelism=2),bolt A > (parallelism=2),bolt B (parallelism=1) and bolt C(parallelism=1).Number of > tasks (numTasks) for each component is default(1).Number of workers is set > as 5. > > Given above scenario,when I submit the topology,I can see 5 slots are used > up and 7 are free (out of 12).But still one instance of the spout and bolt > C are going to the same worker slot (e.g port 6703 of node 1). Shouldn't > Storm be ensuring that components are assigned to distinct unused slots as > long as there are empty slots available? Or is there some configuration > that I have missed or misconfigured here? > > I have pasted the screenshot of Storm UI below for reference. > > Thanks > Bijoy > >
