Skip to content

Repository files navigation

storm-devenv

storm-devenv make it easy to construct storm cluster for development and QA.

Prerequisites

Please install these software in advance.

Setup

$ git clone git@github.com:Lewuathe/storm-devenv.git

Put your storm code on site-cookbooks/storm/files/default as tar format. If you want to try official release package, you can find it here

$ wget http://www.apache.org/dyn/closer.cgi/storm/apache-storm-0.9.3/apache-storm-0.9.3.tar.gz
$ mv apache-storm-0.9.3.tar.gz site-cookbooks/files/default

Launch cluster

$ cd storm-devenv

With VirtualBox provider

$ export VAGRANT_CWD=./providers/virtualbox && vagrant up

With AWS provider

You have to setup below configurations in environment variables first.

key value example info
AMI_ID ami-1234abcd Available AMI's ID
AWS_REGION us-east-1 Region of EC2 instances
AWS_INSTANCE_TYPE t2.micro EC2 Instance type
AWS_VPC_SUBNET_ID subnet-1234abcd Avalable subnet ID
AWS_KEYPAIR_NAME mykey-pair Key pair name which you have
AWS_SECURITY_GROUPS sg-1234abcd Available security group
AWS_ACCESS_KEY_ID abcdefg1234567 You AWS access key ID
AWS_SECRET_ACCESS_KEY ABCDEFG1234567 Your AWS secret access key
AWS_PRIVATE_KEYPATH /Users/yourname/.ssh/key.pem The full path of your AWS key pair
$ export VAGRANT_CWD=./providers/aws && vagrant up

Submit Topology

Write your own storm.yaml file ~/.storm/storm.yaml

nimbus.host: "172.30.0.11"

If you have launched on EC2, you have to setup this as EC2 nimbus public IP which can be found your AWS dashboard.

And submit your topology. You can read more detail here

$ storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3

Check UI

You can see your cluster UI on http://172.30.0.11:8080

License

MIT License. Please see the LICENSE file in details.

Future works

  • Make it easy to change storm version
  • Separate storm cookbook as a distinct chef cookbook.

About

Storm development environment by using vagrant and chef cookbooks

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages