Hi Ankit,

I have 2 workers on each topology. I used your suggestion, but when i submitted jar from worker machine then it only registered that topology on nimbus machine(server 1) but doesn’t start. And when i ran supervisor on nimbus machine(server 1), then it started those topology on nimbus machine(server 1) only but not on worker machine(server 2). Still worker machine(server 2) is not in use.

I tried also by restricting number of supervisor.slots.ports. First i started topologies on nimbus machine(server 1) and when all ports get assigned on nimbus machine then i started supervisor on worker machine(server 2) and then remaining topologies. But in this case also topologies moves to nimbus machine(server 1) with 0 workers assigned to them(as i restricted number of ports).
I don't know why this behaviour. Does this works for you perfectly?

Thanks and regards
Shams ul Haque



On Thursday 21 August 2014 03:12 AM, Ankit Toshniwal wrote:
Your topology is configured for how many workers?

Nimbus tries (best effort) to evenly distribute the workers between the number of machines available (depends on memory etc). So for example if you are submitting a topology with 20 workers and if you have 2 machines available then Storm will start 10 workers on each machine.

In your case, once you submit your topology, even if you want your topology to run on server 2 at the end it depends on Nimbus how it will do the assignments based on the resources available.

If you still want to run your topology only on server2, stop supervisor on server1 and then re-submit the topology or do rebalance.

Hope that helps!

Ankit


On Wed, Aug 20, 2014 at 3:13 AM, Shamsul Haque <[email protected] <mailto:[email protected]>> wrote:


    Hi,

    I have 9 storm topologies to deploy on 2 storm servers:
    server 1: i have started nimbus + supervisor
    server 2: started only supervisor
    i have planned to run 5 topologies on server-1 and 4 on server-2.
    But when i submit my topologies from server-2 the topology moved
    on server-1 and start executing on server-1, but i think it should
    run on server-2 (on which i have submitted).


    Please suggest, why this behaviour?

-- Thanks and regards
    Shams ul Haque


Reply via email to