A collection of spouts, bolts, serializers, DSLs, and other goodies to use with Storm
Java Clojure
Pull request Compare This branch is 2 commits behind nathanmarz:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
storm-backport @ 25c64db
storm-benchmark @ 22bd17a
storm-cassandra @ aacaee0
storm-clockspout @ 3412dda
storm-examples @ b6eb980
storm-growl @ b5ac6ef
storm-hbase @ b9961a5
storm-jms @ dd4e5e6
storm-mongo @ 7a75896
storm-redis-pubsub @ 2e250a0
storm-scribe @ 0c83c7c
storm-signals @ c639a03
storm-sqs @ 0dc9e8b
storm-state @ e41750a



storm-contrib is a community repository for modules to use with Storm. These include a variety of spouts/bolts for integrating with other systems (Redis, Kafka, MongoDB, etc), as well as code for common tasks a Storm developer encounters.

For more information about Storm itself, see the Storm GitHub repository.


storm-contrib is organized as a "super-project" with a sub-folder for each module. Each module is distributed independently and module owners are responsible for distribution.

##Git Submodules

Some storm-contrib modules are git submodules (links to external github repositories). This allows storm-contrib sub-projects to be maintained externally (so those projects can maintain branches and tags independently), but also included in storm-contrib to increase community visibility.

More information about how git submodules work can be found in the online git documentaton on submodules.

Initializing storm-contrib submodules

When you clone storm-contrib, the modules that are git submodules will appear as empty directories.

To initialize the git submodules use the following command:

git submodule init

To pull down the latest versions of submodules:

git submodule update


If you're interested in contributing a module to storm-contrib, send an email to the Storm mailing list. You will then be given commit rights to storm-contrib. The advantage of having your module be part of storm-contrib instead of your own project is more visibility for your code. However, if you'd rather maintain your module as its own project that's fine too!

Adding your storm-related project as a git submodule

Once you have signed the contributor licence agreement and been granted commit rights to storm-contrib, you can add your project as a git submodule with the following command:

git submodule add git://github.com/[username]/[projectname].git