Skip to content

Latest commit

 

History

History
114 lines (90 loc) · 2.61 KB

File metadata and controls

114 lines (90 loc) · 2.61 KB

StormUIAPI

Python class covering Storm UI API REST

The Storm UI daemon provides a REST API that allows you to interact with a Storm cluster, which includes retrieving metrics data and configuration information as well as management operations such as starting or stopping topologies. The REST API returns JSON responses and supports JSONP. Clients can pass a callback query parameter to wrap JSON in the callback function.

Description

StormUIAPI

Installation

Get last version from Github repo:

$ git clone https://github.com/sinfonier-project/StormUIAPI.git

You need some requeriment installed:

$ pip install -r requirements.txt
import stormuiapi

storm = stormuiapi.StormUIAPI(stormhost="localhost", stormport=8080)
storm.getClusterConfiguration()
{
    "dev.zookeeper.path": "/tmp/dev-storm-zookeeper",
    "topology.tick.tuple.freq.secs": null,
    "topology.builtin.metrics.bucket.size.secs": 60,
    "topology.fall.back.on.java.serialization": true,
    "topology.max.error.report.per.interval": 5,
    "zmq.linger.millis": 5000,
    "topology.skip.missing.kryo.registrations": false,
    "storm.messaging.netty.client_worker_threads": 1,
    "ui.childopts": "-Xmx768m",
    "storm.zookeeper.session.timeout": 20000,
    "nimbus.reassign": true,
    "topology.trident.batch.emit.interval.millis": 500,
    "storm.messaging.netty.flush.check.interval.ms": 10,
    "nimbus.monitor.freq.secs": 10,
    "logviewer.childopts": "-Xmx128m",
    "java.library.path": "/usr/local/lib:/opt/local/lib:/usr/lib",
    "topology.executor.send.buffer.size": 1024,
}

Class Help

Help on instance of StormUIAPI in module stormuiapi:

class StormUIAPI
 |  Methods defined here:
 |
 |  __init__(self, stormhost='localhost', stormport=8080)
 |
 |  activateTopology(self, topologyid)
 |
 |  deactivateTopology(self, topologyid)
 |
 |  getClusterConfiguration(self)
 |
 |  getClusterSummary(self)
 |
 |  getErrorDetailsInTopologyByName(self, topologyname)
 |
 |  getErrorInTopologyByName(self, topologyname)
 |
 |  getSupervisorSummary(self)
 |
 |  getTopology(self, topologyid)
 |
 |  getTopologyByName(self, topologyname)
 |
 |  getTopologyComponent(self, topologyid, componentid)
 |
 |  getTopologySummary(self)
 |
 |  getTopologySummaryByName(self, topologyname)
 |
 |  getWorkersByTopologyID(self, topologyid)
 |
 |  getWorkersByTopologyName(self, topologyname)
 |
 |  killTopology(self, topologyid, wait_time)
 |
 |  rebalanceTopology(self, topologyid, wait_time, rebalanceOptions={})
 |
 |  uploadTopology(self, topologyConfig, topologyJar)

License

Apache 2.0

References

[1]