一、storm概念介绍

Storm介绍

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

Storm的核心组件

  • Nimbus:即Storm的Master,负责资源分配和任务调度。一个Storm集群只有一个Nimbus。
  • Supervisor:即Storm的Slave,负责接收Nimbus分配的任务,管理所有Worker,一个Supervisor节点中包含多个Worker进程。
  • Worker:工作进程,每个工作进程中都有多个Task。
  • Task:任务,在 Storm 集群中每个 Spout 和 Bolt 都由若干个任务(tasks)来执行。每个任务都与一个执行线程相对应。
  • Topology:计算拓扑,Storm 的拓扑是对实时计算应用逻辑的封装,它的作用与 MapReduce 的任务(Job)很相似,区别在于 MapReduce 的一个 Job 在得到结果之后总会结束,而拓扑会一直在集群中运行,直到你手动去终止它。拓扑还可以理解成由一系列通过数据流
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache Storm 是一种开源的分布式实时计算系统,其核心概念包括以下几个方面: 1. Topology(拓扑):Storm 应用程序的计算结构被称为拓扑,它由一组节点(Spout 和 Bolt)和它们之间的数据流组成。拓扑定义了 Storm 应用程序的数据流转方式和计算逻辑。 2. Spout:Spout 是 Storm 中的数据源,用于读取数据并将其发送给下一个 Bolt。Spout 可以从文件、网络、消息队列等多种来源读取数据,并将其转换为数据流。 3. Bolt:Bolt 是 Storm 中的计算节点,用于处理和转换数据流。Bolt 可以执行各种计算任务,例如过滤、聚合、计数、统计等,并将结果发送给下一个 Bolt 或者 Spout。 4. Stream:Stream 是 Storm 中的数据流,它是由 Spout 发送并经过一系列 Bolt 处理后形成的。Stream 中包含了一系列元组(Tuple),每个元组都是一个包含多个字段的数据结构。 5. Tuple:Tuple 是 Storm 中的基本数据单元,它是一个不可变的数据结构,包含了多个字段。Tuple 通过 Stream 在 Spout 和 Bolt 之间传递,每个 Bolt 可以对 Tuple 进行处理和转换。 6. Task:Task 是 Storm 中的计算任务,它是 Bolt 或者 Spout 的执行实例。每个任务都会处理一个或多个 Tuple,并且可以在不同的节点上执行。 7. Worker:Worker 是 Storm 中的计算节点,它负责运行一个或多个 Task,并且可以在集群中的不同节点上执行。每个 Worker 运行在一个独立的 JVM 进程中,可以同时运行多个 Task。 8. Nimbus:Nimbus 是 Storm 中的主节点,它负责接收和分配拓扑,并且协调集群中的所有工作节点。Nimbus 会监控所有工作节点的状态,并且在出现故障时自动进行容错处理。 9. Supervisor:Supervisor 是 Storm 中的工作节点,它负责接收和执行任务,并且向 Nimbus 报告节点的状态。每个 Supervisor 可以运行多个 Worker,并且可以在同一台机器上运行多个 Supervisor。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值