storm

  • 离线计算
    批量获取数据、批量传输数据、周期性批量计算数据、数据展示(报表)
    代表技术:sqoop批量导入数据、hdfs批量存储数据、mapreduce批量计算数据、hive批量计算数据、任务调度
    在生产环境中安装sqoop客户端导入数据有生产风险。需要使用更安全的方式,比如用ftp采集,内天到ftp拿数据。在一个公司内部,对一份数据感兴趣的部门很多,可以flume采集后,用kafka缓存,不同的部门根据需要拿数据。直接消费或者存入hdfs
  • 流式计算
    数据实时产生、实时传输、实时计算、实时展示
    代表技术:flume实时采集、kafka/metaq实时存储数据、storm/jstorm实时计算数据、redis实时结果缓存、mysql持久化存储

Storm

用来实时计算源源不断产生的数据,如同流水线生产。
流式计算的一般架构:(如网站系统)flume实时数据采集、kafka临时缓存数据、storm计算数据、redis结果存储

Storm核心组件
storm核心组件

nimbus:资源分配、任务调度
supervisor:接收任务,启动和通知属于自己管理的worker进程。worker的数量根据端口号来。一个worker里面不会运行属于不同的topology的执行任务。
worker:执行任务的具体组件(其实就是一个jvm)。可以执行spout任务或者bolt任务。
zookeeper:保存分配任务信息、心跳信息、元数据信息
executor:可以理解为一个worker进程中的工作线程。一个executor中只能运行隶属于一个component(spout/bolt)的task。一个worker进程中可以有一个或者多个executor线程。
task:默认情况下,一个executor运行一个task,非默认情况可以有多个task。每个component(spout/bolt)的并发度就是其对应的task数量。(task也是各个节点之间进行grouping(partition)的单位)

Storm编程模型

storm编程模型

Topology:Storm中运行的一个实时应用程序
Datasource:外部数据源
Spout:在一个Topology中获取源数据流的组件。将外部数据转化为Storm内部的数据,以Tuple为基本的传输单元下发给Bolt:接收Spout发送的数据,或上游的bolt发送的数据。根据业务逻辑进行处理。发送给下一个bolt或者存储到某种介质上(redis,mysql)。
Tuple:Storm内部数据传输的基本单元,里面封装了一个List对象,用来保存数据。
StreamGrouping:数据分组策略
---- 7种:ShuffleGrouping(Random函数random.nextInt(2))、NonGrouping(Random函数)、FieldGrouping(Hash取模hashcode%num)、Local or ShuffleGrouping(本地或随机,优先本地)

  • 并发度
    topology在storm cluster中运行时,并发主要和3个逻辑实体有关:worker,executor,task
    worker是一个进程,executor是worker进程中的工作线程。一个Executor中只能运行隶属于同一个component(spout/bolt)的task。一个Worker进程中可以有一个或多个Executor线程。在默认情况下,一个Executor运行一个task。每个component(spout/bolt)的并发度就是这个component对应的task数量。
    例:



    图中是一个包含有两个 worker 进程的拓扑。其中,蓝色的 BlueSpout 有两个 executor,每个 executor 中有一个 task,并行度为 2;绿色的 GreenBolt 有两个 executor,每个 executor 有两个 task,并行度也为2;而黄色的YellowBolt 有 6 个 executor,每个 executor 中有一个 task,并行度为 6,因此,这个拓扑的总并行度就是 2 + 2 + 6 = 10。具体分配到每个 worker 就有 10 / 2 = 5 个 executor。

一个worker只属于一个topology,每个worker中运行的task只能属于这个topology。 反之,一个topology包含多个worker,其实就是这个topology运行在多个worker上。一个topology要求的worker数量如果不被满足,集群在任务分配时,根据现有的worker先运行topology。如果当前集群中worker数量为0,那么最新提交的topology将只会被标识active,不会运行,只有当集群有了空闲资源之后,才会被运行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,924评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,902评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,716评论 0 239
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,783评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,166评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,510评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,784评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,476评论 0 196
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,196评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,459评论 2 243
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,978评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,321评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,964评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,046评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,803评论 0 193
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,530评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,420评论 2 265

推荐阅读更多精彩内容

  • 目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI...
    mtide阅读 16,901评论 30 60
  • Storm入门系列之一:storm核心概念及特性 本文的将介绍一些 storm 入门的基础知识,包括 storm ...
    zhaif阅读 2,940评论 0 17
  • 什么是实时流计算? 主要的处理模式可以分为:流处理,批处理 流处理是直接处理,有时也分为在线,离线,近线(st...
    Bloo_m阅读 5,023评论 1 1
  • Date: Nov 17-24, 2017 1. 目的 积累Storm为主的流式大数据处理平台对实时数据处理的相关...
    一只很努力爬树的猫阅读 2,100评论 0 4
  • 如果有一天,我们吵架了 请千万不要拿我暴露给你的缺点来攻击我 那会让我觉得 为了你我连自己都背叛 可到头来 又怎样
    盖玉阅读 190评论 0 0