Storm | 架构

作者: icebreakeros | 来源:发表于2019-07-05 20:30 被阅读0次

架构

特点

  1. 简单编程模型
  2. 高扩展性
  3. 高可靠性
  4. 高容错性 - nimbus不支持容错
  5. 支持多语言编程
  6. 支持本地模式
  7. 高性能

基本术语

  • NimbusStorm集群主节点,负责资源分配和任务调度
  • SupervisorStorm集群工作节点,接受Nimbus分配任务,管理Woker
  • WokerSupervisor下的工作进程,具体任务执行
  • TaskWoker下的工作线程,0.8版本后表示逻辑线程
storm架构
  • Topology:实时计算逻辑,计算拓扑,由SpoutBolt组成的图状结构
  • SpoutStorm编程模型中的消息源,可进行可靠传输(ack/fail机制)
  • BoltStorm编程模型中的处理组件,定义execute方法进行实际的数据逻辑处理
  • Stream:拓扑中的消息流,传输的对象是Tuple
  • Tuple:一次消息传递的基本单元
数据处理流程图

数据流分组策略Stream Groupings

  • Shuffle Grouping:随机分组,保证bolt接受的tuple数据相同
  • Fields Grouping:按字段分组,相同tuple会分到同一个bolt
  • All Grouping:广播发送,每个tuple会发送所有bolt
  • Global Grouping:全局分组,所有tuple发送给task_id最小的bolt
  • Non Grouping:不分组,效果与Shuffle相似,发布订阅同一个线程
  • Direct Grouping:直接分组,需要手动指定bolt
  • Custom Grouping:自定义分组,自己实现分组方式

yarn介绍

YARNHadoop2.0中引入的资源管理系统,Hadoop的资源管理组件

  • Hadoop1.X系列MapReduce工作流程:JobTracker负责资源管理以及任务调度,TaskTracker负责监控所在机器资源以及监控task执行情况
  • 架构存在的问题:JobTracker单点故障,JobTracker负荷过重,资源单一,资源分配不合理
  • Hadoop2.X解决方案:资源管理与任务调度拆分,Yarn负责资源管理,Yarn组成::ResourceManagerNodeManagerApplicationMaster

应用场景

流式数据处理(数据预处理、ETL等)
并行计算Top N(按字段分组计算Top,然后全局汇总)
微批处理(在时间窗口内进行批量处理)
分布式并行计算DRPC

相关文章

  • 好程序员大数据培训分享:Storm架构

    好程序员大数据培训:Storm架构,Storm架构:master/slave 主节点:Nimbus 负责在集群上进...

  • Zookeeper+Storm集群搭建

    基础集群环境参考上一篇文章:集群基础环境搭建 Storm集群架构 Storm是Master-Slaves 主从架构...

  • Storm | 架构

    架构 特点 简单编程模型 高扩展性 高可靠性 高容错性 - nimbus不支持容错 支持多语言编程 支持本地模式 ...

  • 32 storm 单词计数

    上一篇 简单看 storm, 主要简单讲解了storm 的集群架构、核心概念、并行度、流分组,本篇利用 storm...

  • 从集群看Storm

    0x00:Storm集群的框架 ①Storm集群遵循主/从(Master / Slave)架构,和Hadoop等分...

  • Hadoop2.0 | storm-yarn

    storm on yarn 架构 优势 弹性计算资源Storm可与YARN上其他应用程序(比如MapReduce批...

  • Hadoop核心项目

    核心项目 HDFS的架构 Yarn的架构 MapReduce的架构 Storm的架构 分布式存储系统HadoopD...

  • Apache Storm集群架构

    Apache Storm集群架构 Apache Storm的主要亮点是,它是一个容错,快速,没有“单点故障”(SP...

  • storm 架构篇

    Storm集群,利用了分布式系统中经典的master/slave架构。以下显示的是一个Storm集群,其中mast...

  • Storm从入门到精通8:Storm实现WordCount程序

    1.Storm流式数据处理流程 Storm处理流式数据的一般架构如下图所示: Flume用来获取数据。 Kafka...

网友评论

    本文标题:Storm | 架构

    本文链接:https://www.haomeiwen.com/subject/apbkhctx.html