Topology does not execute on local cluster

183 views Asked by At

I was trying to study apache storm and setup the storm on my ubuntu installed in vmware. storm version is 2.4.0 and it is running on localhost currently. When I submit the topology. Topology is submitted successfully and distributed according to default scheduler but bolts and spouts never emit any data. The value of emitted column in topology details remains 0. In Owner's Summary it gives following error: "This user's topologies are in danger of being unscheduled due to the owner's over-use of cluster resources". Similar question is already asked here but it is also not answered.

storm.yaml

enter image description here

owner's summary screen

enter image description here

I tried many things like changing yaml file trying setup on different machines but it gets the same error.

1

There are 1 answers

2
Vitos On

То solve this red notice you should add these config lines:

  • to storm.conf
# available memory for your supervisor
supervisor.memory.capacity.mb: 8192.0
# available CPU resources for supervisor, 100 per core
supervisor.cpu.capacity: 1200.0
# scheduler class
storm.scheduler: "org.apache.storm.scheduler.resource.ResourceAwareScheduler"
  • create file user-resource-pools.yaml in your storm conf dir. Content: ubuntu - username you topologies run from, exampleuser - just for syntax example
resource.aware.scheduler.user.pools:
    ubuntu:
        cpu: 1200.0
        memory: 8192.0
    exampleuser:
        cpu: 100.0
        memory: 1024.0
  • restart your nimbus and supervisor

More about ResourceAwareScheduler you can find in storm 2.4.0 docs and storm 1.2.3 docs

By the way, check your worker.log at logs/worker-artifacts/your-topology-id/.

If emited tuples are 0 some bolts or spouts are dead.