大数据之Storm

Storm

为hadoop提供流处理,运维简单,高度容错,支持多种语言的实时数据处理系统。

Storm集群主要由一个主节点和一群工作节点组成,通过Zookeeper集群协调。

集群架构:

  • Nimbus:主节点运行的一个后台程序,用于响应分布在集群中节点,分配任务和检测故障。

  • Supervisor:工作节点运行的一个后台程序,用于收听工作指派并基于要求工作进程。

Topology

在storm中,应用程序实现实时处理的逻辑被封装进Storm中的topology中,一个topplpgy是一组Spout组建和Bolt组件通过Stream Gruoping进行连接的图。

  • Spout:在一个topology中产生源数据流的组件,从来源处读取数据并放入topology。
  • Bolt:在一个topology中接受数据然后执行处理的组件。
  • Stream(流):Storm将输入的数据看成流,它是以tuple为单位组成的一条有向无界的数据流。
  • Stream Groupings:消息分组方法。有六种分组方法
  1. 随机分组(shuffle grouping):随机分发tuple到Bolt的任务,保证每个任务获得相等数量tuple。

     2.字段分组(Fields grouping):根据指定字段分割数据流,并分组。例如,根据“userid”字段,相同“user-id”的元组总是分发到同一个任务,不同“user-id”的元组可能分发到不同的任务。

    3.全部分组(ALL grouping):tuple被复制到bolt的所有任务。这种类型需要谨慎使用。

  4. 全局分组(Global grouping):全部流都分配到bolt的同一个任务。明确地说,是分配给ID最小的那个task。
  5. 无分组(None grouping)
  6. 直接分组(Direct grouping)

应用程序执行流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值