Storm
Overview
This course will teach Apache Storm – a popular event processing framework – to students.
What You Will Learn
- Concepts & architecture
- How to install and configure
- Programming
- Logging & Metrics
- Designing Streaming systems
Audience
Developers
Duration
two days
Format
Lectures and hands-on labs. (50% 50%)
Prerequisites
- comfortable with Java programming language (programming exercises are in java)
- comfortable in Linux environment (be able to navigate Linux command line, edit files using vi / nano)
Lab environment
Zero Install: There is no need to install Hadoop software on students’ machines! A lab environment in the cloud will be provided for students.
Students will need the following
- a SSH client (Linux and Mac already have ssh clients, for Windows Putty is recommended)
- a browser to access the cluster. We recommend Chrome browser
Detailed outline
Introduction to Streaming Systems
-
- Fast data
- Streaming architecture
- Lambda architecture
- Message queues
- Streaming processors
Introduction to Storm
-
- Architecture
- Sources / Sinks
- Tuples
- Spout
- Bolts
- Topologies
Programming With Storm
-
- Storm Java API
- Bolt / Spout / Topology APIs
- Lab: Programming Storm
Topology Design
-
- Mapping fields
- Parsing fields in Bolts
- Scalability and Parallelism
- Executors and Tasks
- Creating robust topologies
Logging & Metrics
-
- Logging in Storm application
- Metrics : capturing and analyzing
Trident
-
- Intro to Trident
- Trident operations
Designing and Tuning Storm Systems
-
- Kafka & Storm
- Topology design
- Tuning Storm systems