Storm是一个开源的实时计算系统,它的设计理念和传统的大数据处理框架MapReduce不同。MapReduce是批量处理,而Storm是流处理,它关注的是数据的持续处理和实时性,能够实现实时计算和连续计算的业务需求。Storm的运行不会停止,除非用户显式停止。这种设计使得Storm非常适合需要实时处理的场景,比如实时分析、在线机器学习、连续计算、分布式RPC、ETL等。 Storm的工作原理基于一个核心概念:Topology(拓扑)。在Storm中,Topology是一个实时计算应用程序的封装,它会持续运行直到被用户停止。Topology由Spouts和Bolts组成,Spouts负责数据源,可以产生源数据流,而Bolts负责处理数据,它们可以执行过滤、函数操作、聚合、与外部系统交互等各种操作。Spouts和Bolts之间通过Stream(流)连接,Stream是Storm中处理数据的基础单位,是一个无界的tuple序列,tuple是Storm消息传递的基本单元。Tuple是根据字段进行序列化的数据,用户可以自定义字段类型。 Stream的分组方式称为Stream grouping,它定义了流中的tuple如何分发给Bolts中的tasks。Storm提供了多种不同的Stream grouping策略,例如Shuffle grouping、Fields grouping、All grouping等,这些策略决定了数据在处理时的分布方式。为了保证每条消息都能被完全处理,Storm提供了消息不丢失机制,这在容错性方面是非常关键的。Storm确保一旦消息被处理,它就不会丢失,并且可以通过追踪acknowledgments(确认信号)来处理失败的情况。 Storm的系统架构非常灵活和可扩展,它支持多种编程语言,不仅限于Java,用户可以使用其他语言编写Spouts和Bolts。Storm的高可靠性、高容错性的特性意味着即使有节点失败,整个系统也不会停止运行,因为Nimbus和Supervisor可以重启失败的worker。Supervisor负责管理属于自己的worker进程,运行具体的逻辑,而Nimbus负责资源分配和任务调度。 Storm on YARN(Yet Another Resource Negotiator)的架构是将Storm集成到Hadoop的资源管理框架中,利用YARN进行资源管理和任务调度。在Storm on YARN中,Nimbus将分配给Supervisor的任务存储在Zookeeper中,通过Zookeeper来协调心跳、集群状态和配置信息。Storm on YARN利用了Hadoop的HDFS集群和YARN来运行Storm,确保了系统的高效性和扩展性。 在Storm on YARN架构中,YARN负责集群资源管理和任务调度,而Storm则负责实时计算。这种架构让Storm作业与传统的MapReduce作业进行了对比。Storm作业是持续运行的,适合实时计算,而MapReduce作业是针对批处理设计,适合大规模数据的离线处理。Storm作业的优势在于其低延迟、高吞吐量和弹性,这使得它能够满足实时数据处理的需求。Storm与MapReduce的对比突显了两者的不同应用领域和特点。 在实际应用中,Storm的配置、部署和监控对于运维团队来说是非常重要的。Storm应用的配置包括了内存分配、并行度设置、任务调度策略等,这些配置直接影响到Storm集群的性能。另外,Storm的监控也是必不可少的,因为监控可以帮助运维人员及时发现并解决问题,保持系统的稳定运行。 Storm是一个专门为实时数据处理而设计的分布式计算系统,它不仅满足了当前大数据环境下对实时数据处理的高要求,还通过与Hadoop生态系统的集成,扩展了其应用的范围。Storm的实时性、灵活性以及强大的容错机制使得它在处理大规模、高并发、低延迟的数据处理任务时具有明显的优势。

































剩余34页未读,继续阅读

- gongqihui2015-02-03还不错的资料,谢谢分享

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- PLC皮带运输监控系统设计方案.doc
- 网络传播视阈下的地区形象改善策略研究.docx
- 初学者必看!PLC与常见设备连接方式.doc
- plc原理设计的自动售货机.doc
- 汽车零部件行业MRP信息化平台技术.ppt
- 基于PLC实现的彩灯广告牌方案设计书.doc
- 区块链基础:非技术性25步指南
- 北京市通信公司综合业务楼工程大体积砼施工组织设计方案.doc
- 大数据时代互联网广告的营销模式分析.docx
- 浙江省传统村落调研资料数据库的建立与应用研究.docx
- 【精品ppt】互联网+电子商务创新创业融资竞赛-(1).pptx
- 基于PLC交通灯控制系统大学本科方案设计书[1]177.doc
- 通信部队信息化建设存在的问题及解决措施.docx
- 大数据背景下企业人力资源绩效管理创新探讨.docx
- 适用于预测性维护与健康管理的故障诊断及剩余使用寿命预测大型语言模型
- 软件工程期末考试题3.doc


