Storm中文版入门教程
需积分: 14 16 浏览量
更新于2024-07-20
收藏 1.6MB PDF 举报
"《Getting Started with Storm》中文版,由韩飞翻译,旨在为storm初学者提供入门指导。翻译者呼吁仅用于学习交流,避免非法盈利行为。本书介绍了Storm的基础知识,包括组件、属性,以及如何开始使用Storm,如操作模式(本地模式和远程模式)、构建 HelloWorld Storm 项目。此外,还详细讲解了Topologies、流分组策略,如Shuffle、Fields、All、Direct、Global、None等,并讨论了Spouts和Bolts的设计与实现,包括可靠与不可靠消息处理、数据获取方式、DRPC以及Bolt生命周期。最后,通过一个Node.js Web应用与Storm结合的实例,展示了如何构建实际的Storm拓扑结构。"
《Getting Started with Storm》中文版是针对Apache Storm这一分布式实时计算系统的基础教程。书中首先阐述了Storm的核心组件,如 Nimbus、Supervisor、Worker、Task、Spout 和 Bolt,这些构成了Storm的基本架构。Storm属性是配置Storm集群和拓扑的关键,了解这些属性有助于定制化部署和优化性能。
在开始使用Storm的部分,作者介绍了两种操作模式:本地模式,适合快速测试和调试拓扑;远程模式,用于在生产环境中运行。"HelloWorldStorm"部分引导读者完成第一个拓扑的创建,包括验证Java环境、创建项目和编写Spout、Bolt及主类。
在讨论Topologies时,书中详尽解释了各种流分组策略,它们决定了数据在Bolts间的分布方式。Shuffle分组将数据随机分配,Fields分组基于指定字段进行分组,All分组将每个元组复制并发送到所有下游Bolt,而Direct分组允许精确控制数据流向。此外,还有Global分组(全局分组)、None分组(不进行任何分组)以及LocalCluster和StormSubmitter的区别,LocalCluster用于本地运行,而StormSubmitter则提交到远程集群。
Spouts作为数据源,分为可靠和不可靠两类,可靠Spout需要确保消息被完全处理,而不可靠Spout则没有此保证。获取数据的方式有直接连接和队列消息,DRPC(Distributed Remote Procedure Call)机制也进行了介绍,使得用户可以在Storm集群上执行远程函数。
Bolts是处理数据的组件,有其特定的生命周期和结构。可靠与不可靠Bolts的区别在于是否需要手动确认消息处理。多流和多锚定允许Bolt处理来自不同源的数据,通过IBasicBolt接口可以简化 Ack 的处理流程。
书中的真实示例部分,结合了一个Node.js Web应用,演示了如何构建一个处理用户导航、历史记录、产品分类统计、新闻通知等功能的Storm Topology,以及如何利用Redis存储数据。这个案例涵盖了从数据获取到处理的全过程,对于理解Storm的实际应用非常有帮助。
这本书为初学者提供了全面的Storm入门知识,涵盖从理论到实践的多个层面,对于想要掌握Storm技术的人来说是一份宝贵的资源。
2023-06-12 上传
2024-05-29 上传
2023-09-10 上传
2023-09-13 上传
2023-05-19 上传
2023-12-17 上传
yanjieli
- 粉丝: 0
- 资源: 1
最新资源
- N10SG快速开发手册-基础资料.zip
- CC_VC
- dosh:在一个正在运行的容器中打开外壳
- dotnet6创建进程Process.Start设置UseShellExecute在Windows下对性能的影响
- XXXLoopView:一个好用的轮播组件,使用场景包含图片轮播,视频上局部等,轮播ItemView自定义
- pyg_lib-0.3.1+pt20cpu-cp311-cp311-linux_x86_64whl.zip
- 判决matlab代码-asym-free-recall:一项检验记忆中语义相关性和组织的心理学研究
- AlgorithmAndJavaTraining:学习基础数据结构,基础算法,Java基本语法等,整理和编程实现
- sistemaM:市政档案系统
- ProjectRival:高级设计的最终项目; 使用Unity编写并用C#编写的2D格斗游戏
- Python库 | datastack-0.0.11-py3-none-any.whl
- mmpc-wl-开源
- dotnet 6 精细控制 HttpClient 网络请求超时.rar
- stm32
- 判决matlab代码-enthalpy:焓
- Silverlights Out-通过示例介绍Silverlight