Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Heibaiying BigData Notes Storm 1 2 Environment

From Leeroopedia


Knowledge Sources
Domains Infrastructure, Stream_Processing
Last Updated 2026-02-10 10:00 GMT

Overview

Apache Storm 1.2.2 real-time computation environment with integrations for Kafka, HDFS, HBase, and Redis.

Description

This environment provides Apache Storm 1.2.2 for distributed real-time computation. It includes the Storm core framework (`storm-core:1.2.2`) plus integration modules: `storm-kafka-client:1.2.2` for Kafka connectivity, `storm-hdfs:1.2.2` for HDFS writes, `storm-hbase:1.2.2` for HBase persistence, and `storm-redis:1.2.2` for Redis storage. Storm topologies can run locally via `LocalCluster` for testing or be submitted to a remote cluster via `StormSubmitter`.

Usage

Use this environment for Storm topology development and deployment. It is the mandatory prerequisite for the Storm Topology Development workflow and all Storm integration examples (Kafka, HDFS, HBase, Redis).

System Requirements

Category Requirement Notes
OS Linux (CentOS 7.6 recommended) Any Linux with JDK 8
Java JDK 1.8 Required by Storm 1.2.2
Zookeeper 3.4.13+ Required for Storm cluster coordination
Hardware Minimum 2GB RAM per Supervisor Per worker node
Disk 10GB+ For Storm logs and temporary data

Dependencies

System Packages

  • `storm` = 1.2.2
  • `zookeeper` >= 3.4.13
  • `java-1.8.0-openjdk-devel`

Java Packages (Maven)

  • `org.apache.storm:storm-core` = 1.2.2
  • `org.apache.storm:storm-kafka-client` = 1.2.2 (for Kafka integration)
  • `org.apache.storm:storm-hdfs` = 1.2.2 (for HDFS integration)
  • `org.apache.storm:storm-hbase` = 1.2.2 (for HBase integration)
  • `org.apache.storm:storm-redis` = 1.2.2 (for Redis integration)
  • `org.apache.commons:commons-lang3` >= 3.8.1

Credentials

No API credentials required. Storm cluster coordination uses Zookeeper.

Quick Install

# Download Storm 1.2.2
wget https://archive.apache.org/dist/storm/apache-storm-1.2.2/apache-storm-1.2.2.tar.gz
tar -xzf apache-storm-1.2.2.tar.gz -C /opt/

# Configure environment
export STORM_HOME=/opt/apache-storm-1.2.2
export PATH=$PATH:$STORM_HOME/bin

# Maven dependency:
# <dependency>
#   <groupId>org.apache.storm</groupId>
#   <artifactId>storm-core</artifactId>
#   <version>1.2.2</version>
# </dependency>

Code Evidence

Storm core dependency from `storm-word-count/pom.xml`:

<dependency>
    <groupId>org.apache.storm</groupId>
    <artifactId>storm-core</artifactId>
    <version>1.2.2</version>
</dependency>

Cluster submission from `ClusterWordCountApp.java`:

Config config = new Config();
config.setNumWorkers(2);
StormSubmitter.submitTopology("ClusterWordCountApp", config, builder.createTopology());

Common Errors

Error Message Cause Solution
`Found multiple defaults.yaml resources` storm-core included in uber-JAR Exclude storm-core from packaged JAR (scope: provided)
`RuntimeException` with HDFS integration Used maven-assembly-plugin Use maven-shade-plugin instead of maven-assembly-plugin for HDFS integration
`Connection refused to Zookeeper` Zookeeper not running Start Zookeeper before launching Storm

Compatibility Notes

  • storm-core must be excluded from the uber-JAR when deploying to a cluster, as it is already in Storm's lib directory.
  • HDFS integration: Requires matching Hadoop client version (`hadoop-common:2.6.0-cdh5.15.2`, `hadoop-client:2.6.0-cdh5.15.2`, `hadoop-hdfs:2.6.0-cdh5.15.2`).
  • Packaging: Use `maven-shade-plugin` (not `maven-assembly-plugin`) to avoid classpath conflicts, especially for HDFS integration.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment