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 | 架构

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