storm框架

storm : 是一种用于事件的流处理的分布式计算框架
应用场景

  • 实时分析
  • 实时统计
  • 实时推荐

storm框架图
在这里插入图片描述

元组 (Tuple)

  • 元组是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象
  • 元组支持所有的基本类型,字符串和字节数组作为字段值
    流(Stream)
  • 流是Storm的核心抽象,是一个无界的元组系列
    Spout
  • Spout是拓扑的数据流的来源,Spout会从外部数据源读取数据,然后转换为拓扑内部的源数据
  • Spout可以是可靠的,也可以是不可靠的
  • Spout 的主要方法是nextTupl(),ack()和fail() ,【当Storm检测到一个元组从Spout发出时,ack()和fail()会被调
    用,要么成功完成通过拓扑,要么未能完成】
  • IRichSpout是Spout必须实现的接口
  • Spout可以发出超过一个流

Bolt

  • 在拓扑中所有的处理都在Bolt中完成,Bolt是流的处理节点
  • Bolt可以完成过滤,业务处理,连接运算,连接和访问数据库等任何操作
  • Bolt可以完成简单的流的转换,复杂的流
  • Bolt可以发出超过一个的流

Topology

  • 拓扑是Storm中运行的一个实时应用程序,因为各个组件间的消息流动形成逻辑上的拓扑结构
    在这里插入图片描述

Strom的核心组件

  • 总体流程:
    • nimbus下命令(分配任务),zookeeper监督执行(心跳监控,worker,supervisor的心跳都归它管),supervisor接受命令(下载代码),创建worker和线程等,worker和executor 都会干活,Task就是具体要干的活

nimbus

  • 是整个集群的控制管理核心,负责topology的提交,运行状态监控,任务重新分配工作

supervisor

  • 监听其主机上已经分配的主机作业,启动和停止Nimbus已经分配的工作进程
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值