Quickly Set Up an Apache Storm Cluster with Docker in Minutes
This guide walks you through installing Docker, configuring a Chinese accelerator, pulling the official Storm Docker image, and using Docker commands to launch both a local Storm instance and a minimal multi‑node cluster with Nimbus and Supervisor, all in under ten minutes.
Introduction
Storm is a distributed computing framework for real‑time processing of large‑scale data.
Setting up a cluster can be daunting, so this article shows how to quickly create a Storm cluster using the official Storm Docker image on a local machine.
Prerequisites
Install Docker
Download Docker from the official site for your operating system and install it.
Docker is available for Windows, Linux, and macOS. Documentation: https://docs.docker.com/ Configure a Docker accelerator
Because Docker images are hosted abroad, download speeds in China can be slow. Use an accelerator such as Alibaba Cloud: https://dev.aliyun.com Log in to obtain the configuration method.
Download Storm
Download page: http://storm.apache.org/downloads.html Choose the latest version, e.g., 1.0.2.
Storm Local Mode
The official Storm image runs out‑of‑the‑box in local mode without additional installation.
The examples/storm-starter directory contains a sample JAR. Run it with:
docker run -it -v storm-starter-topologies-1.0.2.jar:/topology.jar storm:1.0.2 storm jar /topology.jar org.apache.storm.starter.ExclamationTopologyMeaning: use the storm:1.0.2 image to run the storm-starter-topologies-1.0.2.jar and execute org.apache.storm.starter.ExclamationTopology .
The command pulls the storm:1.0.2 image, then runs the example, effectively setting up the environment and executing a hello‑world program.
Minimal Cluster Setup
For a more realistic environment, set up a simple cluster. Storm depends on ZooKeeper, which can also be run via Docker:
docker run -d --restart always --name some-zookeeper zookeeper:3.4Storm consists of two main components: Nimbus and Supervisor.
Install and start Nimbus:
docker run -d --restart always --name some-nimbus --link some-zookeeper:zookeeper storm:1.0.2 storm nimbusRuns the storm:1.0.2 container, links it to the ZooKeeper container, and starts the storm nimbus service.
Install and start Supervisor:
docker run -d --restart always --name supervisor --link some-zookeeper:zookeeper --link some-nimbus:nimbus storm:1.0.2 storm supervisorSimilar to the previous command, but starts the storm supervisor service.
A lightweight cluster is now ready. Test it with a sample program from the examples/storm-starter directory:
docker run --link some-nimbus:nimbus -it --rm -v storm-starter-topologies-1.0.2.jar:/topology.jar storm:1.0.2 storm jar /topology.jar org.apache.storm.starter.WordCountTopology topologyConclusion
After installing Docker and configuring an accelerator, the whole process takes about ten minutes and is very convenient.
The purpose of this article is to guide readers in using Docker so they can quickly get started with other technologies, saving valuable time.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Java High-Performance Architecture
Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
