# Storm实时计算框架入门到精通——你的第一门流式处理实战课
为什么学习Storm?
在大数据生态中,Hadoop MapReduce早已奠定了批处理的王者地位,但当业务对数据的时效性提出更高要求时——比如实时风控、实时监控、即时推荐——批处理那种"等一等再算"的模式便显得捉襟见肘。Storm正是为此而生。
Storm是由Twitter开源、现已成为Apache顶级项目的分布式实时计算框架,它以**低延迟、高吞吐、可扩展**著称。与Hadoop相比,Storm不做批处理,而是以流式的方式持续处理源源不断的数据,单条消息的处理延迟可以控制在秒级甚至毫秒级。这门课程将带你从零开始,系统掌握Storm的核心原理与实战技能。
课程结构预览
本教程共两个阶段,循序渐进,理论与实践并重。
**第一天:搭建环境,理解架构,跑通第一个项目**
课程从Storm的诞生背景讲起,清晰梳理它与Hadoop的定位差异,帮助你建立对实时计算的整体认知。随后深入Storm的顶层架构——ZooKeeper协调层、Nimbus主控节点、Supervisor工作节点、Worker进程、Executor线程与Task任务,这套分层模型是理解一切Storm现象的基础。
安装环节提供单机本地模式到完全分布式集群的完整部署方案,你可以直接在本地模式下编写并运行电话呼叫日志处理程序,亲眼见证Storm如何拓扑化地处理实时数据流。紧接着,课程演示如何将同样的Toplogy提交到真正的分布式集群中运行,并通过Web UI界面直观查看集群状态、节点分布和任务执行情况。此外,LogViewer日志查看器、WordCount的经典Storm实现,以及使用nc结合Socket编程模拟真实数据源等方式,都让你在实际操作中巩固所学。
**第二天:深入内核,攻克调优与工程化难题**
第二天从回顾开始,确保知识链条不断层。随后进入Storm的核心机制——**分组策略**。Shuffle分组确保数据均匀分发,Field分组按指定字段哈希路由,而Global分组则将所有数据导向单一任务,这些策略直接决定了任务的负载均衡效果。
课程通过一个实际案例揭示了"数据倾斜"问题:当某些Key的流量远超其他Key时,对应节点会成为瓶颈。解决方案包括二次聚合、利用守护线程按时间片定时清分数据,以及使用同步集合解决并发访问问题。
最后,All分组、Direct分组等高级策略被逐一讲解,配合并发度、Worker数、执行线程数的调整技巧,帮助你根据业务场景灵活调配资源,实现性能最优。
适合谁学
无论你是刚接触实时计算的初学者,还是希望系统补齐Storm技能的工程师,这门课程都能为你提供扎实的基础和可复用的实战经验。掌握Storm,意味着你打开了通往流式处理世界的大门,也为后续学习Flink、Spark Streaming等更现代的框架打下了坚实基础。
课程目录
课程目录26 集
- 1-1 [Storm第1天] 01.storm (10:31).mp4
- 1-2 [Storm第1天] 02.storm和hadoop对别 (20:36).mp4
- 1-3 [Storm第1天] 03.storm优点 (03:29).mp4
- 1-4 [Storm第1天] 04.storm架构介绍-核心组件 (38:04).mp4
- 1-5 [Storm第1天] 05.storm安装 (03:08).mp4
- 1-6 [Storm第1天] 06.storm完全分布式集群部署和配置-webui查看 (20:24).mp4
- 1-7 [Storm第1天] 07.storm编程实现电话呼叫日志处理-本地模式执行 (32:00).mp4
- 1-8 [Storm第1天] 08.storm完全分布式集群运行top作业 (10:35).mp4
- 1-9 [Storm第1天] 09.storm集群logviewer查看器进程-日志目录 (04:57).mp4
- 1-10 [Storm第1天] 10.wordcount的storm实现 (24:55).mp4
- 1-11 [Storm第1天] 11.定义工具类,使用nc结合socket编程实现分布式程序 (30:15).mp4
- 1-12 [Storm第1天] 12.调整任务的并发度和任务数-worker数-执行线程数 (50:34).mp4
- 2-1 [Storm第2天] 01.storm昨日回顾 (14:40).mp4
- 2-2 [Storm第2天] 02.storm分组策略-shuffle-field-数据倾 (39:51).mp4
- 2-3 [Storm第2天] 03.storm分组策略-wordcount-二次聚合-数据 (18:46).mp4
- 2-4 [Storm第2天] 04.storm分组使用守护线程按时间片定时清分-集合同步问 (27:05).mp4
- 2-5 [Storm第2天] 05.storm分组-all-direct-global (42:01).mp4
- 2-6 [Storm第2天] 06.storm分组-none分组 (05:53).mp4
- 2-7 [Storm第2天] 07.storm分组log设置 (04:36).mp4
- 2-8 [Storm第2天] 08.storm分组-自定义分组 (10:36).mp4
- 2-9 [Storm第2天] 09.storm确保消息被消费 (17:27).mp4
- 2-10 [Storm第2天] 10.storm确保消息被消费-使用双队列方式实现 (28:17).mp4
- 2-11 [Storm第2天] 11.storm与kafka集成 (18:15).mp4
- 2-12 [Storm第2天] 12.storm与kafka集成-log4j注意事项 (07:52).mp4
- 2-13 [Storm第2天] 13.storm与hbase集成 (11:41).mp4
- 3-1 [Storm第03天] Storm第03天-01.storm与hbase集成 (34:38).mp4






