It's not recommended to run more than one topology on the same server
cluster as it can make it difficult to monitor and optimize. I usually only
use one slot (JVM) per node. I remember reading somewhere where that is
recommended too.

On Wed, Jul 20, 2016 at 7:22 AM, Navin Ipe <[email protected]>
wrote:

> From what I know, you can figure out how much memory your application
> needs and allocate the memory as shown below. The below code allocates 2GiB
> of memory for each worker of the topology.
>
> Config stormConfig = new Config();
> stormConfig.put(Config.TOPOLOGY_WORKER_CHILDOPTS, "-Xmx2g");
>
> On Tue, Jul 19, 2016 at 10:20 PM, Joaquin Menchaca <[email protected]>
> wrote:
>
>> How can one calculate how much memory is needed?
>>
>> On Tue, Jul 19, 2016 at 1:05 AM, Navin Ipe <
>> [email protected]> wrote:
>>
>>> I've figured out the answer to this. A slot is used by a worker. A
>>> worker is a JVM. So each JVM would require a clump of heap memory of its
>>> own. So a default of 4 slots would use 4*x amount of memory, where x is the
>>> memory used by a worker JVM.
>>> Now obviously if you declare more than 4 ports, it'll take up that much
>>> more memory.
>>> The problem with taking up too much memory, is that your topologies will
>>> suddenly crash with a GC overhead limit exceeded exception and the spout or
>>> bolt will get re-started constantly.
>>> As I understand, you'd be better off with increasing the number of
>>> servers or RAM on the existing server, if you want to have many
>>> workers/topologies.
>>>
>>>
>>> On Mon, Jul 18, 2016 at 3:43 PM, Navin Ipe <
>>> [email protected]> wrote:
>>>
>>>> Ok, if there's an answer to the first question, then anyone who knows
>>>> details about Storm's design, please help in this thread. For the second
>>>> question, I'll be starting a separate thread, since there would be people
>>>> who'd have experience with running multiple topologies.
>>>>
>>>> On Mon, Jul 18, 2016 at 12:12 PM, Navin Ipe <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I was initially surprised that Storm couldn't run more than 4
>>>>> topologies by default. On increasing the number of supervisor slots, I was
>>>>> able to run more topologies. But there are two things I don't understand:
>>>>>
>>>>> 1. Was Storm designed to support only 4 default slots because it has
>>>>> to allocate memory for each slot and supporting 10 slots by default would
>>>>> have eaten up too much memory?
>>>>> 2. Since I have to go to each supervisor and alter each storm.yaml
>>>>> file to support more than 4 slots, then if I assign 5 slots to 5
>>>>> supervisors, will I be able to run 5*5=25 topologies? (I've tried it only
>>>>> on my local system until now).
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Navin
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Navin
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Navin
>>>
>>
>>
>>
>> --
>>
>> 是故勝兵先勝而後求戰,敗兵先戰而後求勝。
>>
>
>
>
> --
> Regards,
> Navin
>



-- 

Brian Taylor

Resolving Architecture .:.

330-812-7098

[email protected]

http://resolvingarchitecture.com

www.linkedin.com/in/leanenterprisearchitect/
<http://www.linkedin.com/in/javadevops/>

Reply via email to