kolloch / docker-playground

Playground for docker and kafka, cassandra, storm, play

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker-env

This project provides a local development/test environment including:

  • zookeeper (1 node)
  • cassandra (including Datastax opscenter) (3 nodes)
  • kafka (3 nodes)
  • storm (1 nimbus/ui node, 3 supervisor nodes)
  • and rudimentary scala play framework app

I currently consider extending it maybe with the following components:

  • elastic search
  • logstash
  • kibana
  • riemann.io or statsd
  • graphite
  • some graphite frontend
  • extend zookeeper nodes (to test zookeeper fail-over)

but that might never happen or soon ;)

Credits

I took my first version of the cassandra from zmarcantel/cassandra.

Scripts

./build-all.sh builds all necesarry images. The image names do not include repository prefixes so be careful with name clashes.

./cluster/cluster-start.sh starts all services, ./cluster/cluster-stop.sh stops them.

URLs to cassandra opscenter and the storm ui are shown on startup. You will have to use the cassandra opscenter to install the agents on the cassandra nodes, since I was not easily able to automate that.

./cluster/cluster-status.sh shows what's up and running.

./cluster/cassandra-cqlsh.sh provides a cqlsh shell to the cassandra nodes.

./cluster/cassandra-nodetool.sh executes cassandra nodetool with an appropriate -h (host) argument.

./cluster/kafka-topics.sh starts kafka-topics.sh with the appripate --zookeeper argument.

Conventions for the docker images

Most of the docker images in this repository include:

  • a copy of the relevant configuration files with {{placeholders}}
  • a config.sh script which appropriately replaces the {{placeholders}}
  • a run.sh script that actually starts the appropriate processes

This setup makes it easy to look at the configuration templates and introduce new placeholders. You can also peak at the configuration without executing anything by starting the images with docker run -i -t image bash -l, execute config.sh and verify the configuration files.

Security

None. There is a ssh key in this repository, the Dockerfiles do not verify checksums of downloaded artifacts. Do I need to say more?

About

Playground for docker and kafka, cassandra, storm, play


Languages

Language:Shell 98.3%Language:Scala 1.7%