Storm中文版入门教程
需积分: 14 136 浏览量
更新于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
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案