An open API service indexing awesome lists of open source software.

https://github.com/sunsided/storm-docker

Apache Storm docker image
https://github.com/sunsided/storm-docker

apache-storm docker docker-compose nimbus

Last synced: 2 months ago
JSON representation

Apache Storm docker image

Awesome Lists containing this project

README

          

# storm-docker

[![](https://images.microbadger.com/badges/version/sunside/storm.svg)](http://microbadger.com/images/sunside/storm "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/image/sunside/storm.svg)](http://microbadger.com/images/sunside/storm "Get your own image badge on microbadger.com")

Dockerfiles for building a storm cluster. Inspired by [https://github.com/ptgoetz/storm-vagrant](https://github.com/ptgoetz/storm-vagrant) and [https://github.com/wurstmeister/storm-docker](https://github.com/wurstmeister/storm-docker).

## Pre-Requisites

- install docker-compose [http://docs.docker.com/compose/install/](http://docs.docker.com/compose/install/)

## Usage

Start a cluster:

- ```docker-compose up```

Destroy a cluster:

- ```docker-compose stop```

Add more supervisors:

- ```docker-compose scale supervisor=3```

## Building

- ```rebuild.sh```

## Running a supervisor

Here, `SUPERVISOR_ADDRESS` is the address of the supervisor's host.

```bash
docker run -d --restart=unless-stopped \
--name storm-supervisor \
-p 8000:8000 \
-e "NIMBUS_ADDRESS=10.3.2.110" \
-e "NIMBUS_DRPC_PORT=49772" \
-e "NIMBUS_DRPCI_PORT=49773" \
-e "ZOOKEEPER_ADDRESS=10.3.2.110" \
-e "ZOOKEEPER_PORT=49181" \
-e "SUPERVISOR_ADDRESS=10.3.2.120" \
sunside/storm-supervisor:0.10.0
```

## FAQ
### How can I access Storm UI from my host?
Take a look at docker-compose.yml:

ui:
image: sunside/storm-ui:0.10.0
ports:
- "49080:8080"

This tells Docker to expose the Docker UI container's port 8080 as port 49080 on the host

If you are running docker natively you can use localhost. If you're using boot2docker, then do:

$ boot2docker ip
The VM's Host only interface IP address is: 192.168.59.103

Which returns your docker VM's IP.

So, to open storm UI, type the following in your browser:

localhost:49080

or

192.168.59.103:49080

in my case.

### How can I deploy a topology?
Since the nimbus host and port are not default, you need to specify where the nimbus host is, and what is the nimbus port number.

Following the example above, after discovering the nimbus host IP (could be localhost, could be our docker VM ip as in the case of boot2docker), run the following command:

storm jar target/your-topology-fat-jar.jar com.your.package.AndTopology topology-name -c nimbus.host=192.168.59.103 -c nimbus.thrift.port=49627