Skip to content

igorfrenkel/storm-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

storm-docker

Dockerfiles for building a storm cluster. Inspired by https://github.com/ptgoetz/storm-vagrant

The images are available directly from https://index.docker.io

##Pre-Requisites

##Usage

Start a cluser:

  • fig up

Destroy a cluster:

  • fig stop

##Building

  • rebuild.sh

##FAQ

How can I access Storm UI from my host?

Take a look at fig.yml:

ui:
  image: wurstmeister/storm-ui:0.9.2
      ports:
        - "49080:8080"

This tells Docker to expose the Docker UI container's port 8080 as port 49080 on the host. So we know the port - 49080. But what's the IP?

By default 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 numbus 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

What if I would like to deploy to my topology from a remote host?

The answer to this depends on your local setup, whether you're using docker natively or via a VM.
If you are using boot2docker over virtualbox, then open virtualbox (just type virtualbox in terminal).
Select boot2docker-vm. Click on 'settings'. Network. Select the adapter that is attached to NAT (probably 1). Port Forwarding. Click on the '+' sign to add a rule.
Add the following rule:

Name Protocol Host IP Host Port Guest IP
Storm Nimbus TCP 6627

BTW: This will expost nimbus on the default port, so you don't need to specify the nimbus.thrift.port in your deploy command

Can I add a supervisor in another host to the storm cluster?

Yes. That's a really cool idea. This is your homework. When you're done, update this tutorial :)

About

Dockerfiles for building a storm cluster.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%