All the documents which I referenced are listed as the following. You'd better to read these documents before taking action.
- endocode: Building a stream processing pipeline with Kafka, Storm and Cassandra – Part 2: Using Docker Containers
- wurstmeister: storm-docker@Github
- Docker: Compose file reference
- Docker: Networking in Compose
- Docker: Understand Docker container networks
The copyrights of the softwares and scripts and resources in this article should belongs to their original creators or owners.
- Zookeeper 3.4.5
- 3 nodes
- Storm 0.10.0
- nimbus node * 1
- supervisor node * 1
- ui node * 1
- Kafka 0.8.2
- broker node * 1
All of the following are required:
- Linux (64bit):
- CentOS 7.x
- Ubuntu Willy 15.10
- Ubuntu Trusty 14.04 (LTS)
- Ubuntu Precise 12.04 (LTS)
- Docker Engine 1.10
- Docker Compose 1.6.2
All of the following are minimal requirements:
- CPU: 2+ cores
- Memory: 16+ GBs
- Disk: 10+ GBs
- Install Docker Engine:
- CentOS 7.x: <https://docs.docker.com/engine/installation/linux/centos/>
- Ubuntu: <https://docs.docker.com/engine/installation/linux/ubuntulinux/>
- Install Docker Compose:
- Plese refer to: <https://docs.docker.com/compose/install/>
- Build the Docker images using this repository
# 1. Create a bridge network
# ref: https://docs.docker.com/engine/userguide/networking/dockernetworks/#a-bridge-network
docker network create --driver bridge storm
# 2. Enter the 'images' directory
cd images
# 3. To build the ZooKeeper image
docker build -t endocode/zookeeper zookeeper_docker
# 4. To build the Kafka image
docker build -t endocode/kafka kafka_docker
# 5. To build the Storm images (nimbus, supervisor, ui)
cd storm_docker
./rebuild.sh
# 6. Check the images in your local repository:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wurstmeister/storm-nimbus latest 75c46dac402d 10 hours ago 587.5 MB
wurstmeister/storm-ui latest 7b44df375fb7 11 hours ago 587.5 MB
wurstmeister/storm-supervisor latest dfeaaad9f569 11 hours ago 587.5 MB
wurstmeister/storm latest 41e53fb09520 11 hours ago 587.5 MB
endocode/kafka latest f5dc1b95dd58 34 hours ago 401.3 MB
endocode/zookeeper latest 561d0a0c1266 35 hours ago 382.1 MB
wurstmeister/base latest cbbef65f3317 16 months ago 412.1 MB
Before using these containers, you might want to edit docker-compose.yml
for your needs.
Enter the following command to bring these containers UP:
docker-compose up
Enther the follwoing command to bring these containers DOWN:
docker-compose down