Storm-1.2.2介绍及完全分布式安装

Apache Storm是一个实时数据流处理框架,常用于实时大数据处理。本文详细介绍了Storm的核心概念,如nimbus、Supervisor、worker、Task和Topology,并提供了Storm 1.2.2的集群安装步骤,包括下载、解压、配置以及启动nimbus、Supervisor和web监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1  Storm是什么

2  Storm的核心概念

3  Storm原理架构

4  Storm集群安装部署

4.1  下载Storm 1.2.2

4.2  解压,更改配置文件

4.3  将配置好的节点分发到两个从节点上

5  启动storm集群及web监控


1  Storm是什么

Apache Storm是一个分布式的、可靠的、容错的实时数据流处理框架。Storm是Twitter开源的分布式实时大数据处理框架,最早开源于github,从0.9.1版本之后,归于Apache社区,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统(高频交易、股票)等等,大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。

Storm的处理流程类似工业上的生产线,如上图,取水口就相当于Storm的数据源口Spout,经历一系列的处理阶段Bolt,最终送给用户(即数据落地),构成一个拓扑结构。

它与Spark Streaming的最大区别在于它是逐个处理流式数据事件,而Spark Streaming是微批次处理,因此,它比Spark Streaming更实时。但相比新的实时流处理框架Flink来说,Flink提供了DataSet 和 DataStream两个接口实现可批可流的处理机制,并且提供了Exactly-once语义,因此被越来越多的公司使用。如果非得给流处理框架排个序,小厨认为:Flink>Storm>Storm Trident>Spark Streaming。至于优先程度主要还得看具体的业务场景,例如某公司已经搭建了一个Spark平台,并且对数据的实时性可以接受为分钟级别,那么可能Spark Streaming是最适合的。

2  Storm的核心概念

  • nimbus:即Storm的Master,负责资源分配和任务调度。一个Storm集群只有一个Nimbus。
  • Supervisor:即Storm的Slave,负责接收Nimbus分配的任务,管理其本身所有Worker,一个Supervisor节点中包含多个Worker进程。
  • worker:工作进程,每个工作进程中都有多个Task。
  • Task:任务,在 Storm 集群中每个 Spout 和 Bolt 都由若干个任务(tasks)来执行。每个任务都与一个执行线程相对应。
  • Topology:DAG有向无环图的实现。计算拓扑,Storm 的拓扑是对实时计算应用逻辑的封装,它的作用与 MapReduce 的任务(Job)很相似,区别在于 MapReduce 的一个 Job 在得到结果之后总会结束,而拓扑会一直在集群中运行,直到你手动去终止它。拓扑还可以理解成由一系列通过数据流(Stream Grouping)相互关联的 Spout 和 Bolt 组成的的拓扑结构。
  • Stream:从Spout中源源不断传递数据给Bolt、以及上一个Bolt传递数据给下一个Bolt,所形成的这些数据通道即叫做Stream。可以根据StreamId绑定上下游的Bolt.
  • Tuple:Stream中最小数据组成单元。(如下图:多个Tuple构成一个Stream通道)

  • Spout:数据源(Spout)是拓扑中数据流的来源。一般 Spout 会从一个外部的数据源读取元组然后将他们发送到拓扑中。根据需求的不同,Spout 既可以定义为可靠的数据源,也可以定义为不可靠的数据源。一个可靠的 Spout 能够在它发送的元
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值