• storm学习


    一 storm 相关术语

    1 . Nimbus
    storm 集群主节点,负责资源分配和任务调度。(相当于namenode)
    
    2. supervisor
    
    storm集群工作节点,接受Nimbu分配任务,管理worker
    
    3.worker
    
    supervisor 下的工作进程,具体任务执行,一个worker通常对应一个jvm
    
    4 task
    
    worker下的工作线程,0.8版本之后表示逻辑线程。
    
    5 topology
    
    实时计算逻辑,计算拓扑,由spout 和bolt 组成的图形结构
    
    6.spout
    
    storm 编程模型中的消息源, 可进行可靠传输(ack/fail机制)
    
    7.bolt
    
    storm 变成模型中的处理组件,定义execute方法进行实际的数据逻辑处理。
    
    8. steam
    
    拓扑中的消息流, 传输的对象是tuple.
    
    9.Tuple
    
    一次消息传递的基本单元
    
    10.stream groupings数据流分组策略
    
    (1)shuffle grouping: 随机分组,保证blot接受的tuple数据相同。
    
    (2)fields grouping: 按字段分组, 相同tuple 会分到同意blot中

    二 storm集群架构图

    2. 数据处理流程

    3. 拓扑图分析

    storm主要特点

    1. 简单的编程模型
    提供了简单的spout + bolt的变成模型,让普通的java工程师也能快速的、高效的写出高并发实时处理任务,大大的降低了相关业务处理的研发成本。
    
    2.高扩展性
    1)支持节点的水平扩展,支持千级节点的扩展
    2)工作进程的扩展,每个工作节点可以有多个工作进程
    3)每个工作进程 可以创建多个线程
    4)每个线程又可以执行多个任务,任务才是真正进行数据处理的实体;
    
    3.高可靠性
    消息以消息树的形式存在,提供ack/fail消息保存机制
    
    4.高容错性
    1)节点级别的容错
    2)worker 级别的容错, 不支持nimbug容错
    
    5. 支持多语言编程
    支持java ,python
    
    6.支持本地模式
    storm开发流程是,编写好storm程序后,编译成jar包,并且提交到nimbus上执行。 本地模式 模拟storm集群模式,进行调试。
    
    7.高性能
    内部通讯采用zeroMQ通讯,保证消息被快速处理

    storm与 yarn结合 ,storm 运行在yarn之上

    1) 资源的弹性计算
    2) 共享底层存储
    3) 支持多版本共存
    4) 整体架构的统一

    storm安装

  • 相关阅读:
    google搜索技巧
    sqlite,mysql,access对比
    【转】python技术博客
    2013待阅读书目
    【转】larbin的代码实现逻辑概述
    【转】python遍历文件夹和文件
    【转】正则表达式高级讲解
    Atitit.mybatis的测试  以及spring与mybatis在本项目中的集成配置说明
    Atitit.100% 多个子元素自适应布局属性
    atitti.atiNav 手机导航组件的设计
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/6208507.html
Copyright © 2020-2023  润新知