storm并行

作者: 一品悟技术_张驰 | 来源:发表于2017-03-09 10:17 被阅读93次

storm实现并行的三个重要元素

worker:supervisor起的jvm节点,进程级别的计算资源

executor:worker内的线程,线程级的计算资源,每个worker可起多个executor

task:spout/bolt实例,也就是计算任务

一个storm集群,启动,并发布了topology后,大致是如下情况:

配置storm安装目录下,storm.yaml中的supervisor.slots.ports可指定一个supervisor最多可启动的worker数量

上图中,配置supervisor最多可启动6个worker节点。

一个拓扑需要多少计算资源,是发布之前在代码内进行配置,nimbus发布topology之后,会根据topology内各组件情况,分配至supervisor。

其中,executor,tasks是topology的主要配置项,topology的每个spout/bolt组件,都会配置executor,以及tasks,用以表明,此组件需要几个线程执行,执行多少个tasks。

如下例:

笔者构建的topology共有三个组件

spout:streamMaking   

bolt:step1Bolt

bolt:step2Bolt

各项并行配置为:

streamMaking:并行数4,

step1Bolt:并行数2,task4,也就是发布后,分配给step1Bolt的2个executor,每个executor将并发执行2个step1Bolt实例,一共执行step1Bolt4个实例

step2Bolt:并行数为1

可见,我的topology共需要7个线程资源,共会启动9个task实例。

假如,我共有两个supervisor节点,每个节点起了2个worker实例,

那么上述topology发布后,在storm中大致是如下情况:

storm UI监控展示如下:

合理的配置使用executor,以及并发task数,是实现storm并行的关键,当然,配置时,需要根据系统的使用资源,合理配置。

storm集群提供了worker进程级别的计算资源,我们在发布topology时,通常不希望不同topology的组件task分配至同一个worker内的不同线程执行,如何使用storm进行合理的资源隔离,将会在下一篇章进行介绍。

相关文章

  • Storm 性能优化

    目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI...

  • storm并行

    storm实现并行的三个重要元素 worker:supervisor起的jvm节点,进程级别的计算资源 execu...

  • storm中worker、executor与task配置

    storm中worker、executor与task配置 storm中与并行有关的概念有三个,配置并行度时优先考虑...

  • 32 storm 单词计数

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

  • Storm入门

    Storm 基本介绍 什么是 Storm 首先Storm是Apache顶级项目之一Storm 官网 Storm 是...

  • java大数据之storm

    一、Storm简介 1.1 Storm是什么 Apache Storm(http://storm.apache.o...

  • 实时计算平台-thor

    为什么开发Thor系统 Storm更多的只是一个实时的并行计算框架,很多问题需要额外地处理,如,数据如何接入Sto...

  • storm的并行度概念(workers、executors、ta

    转载:http://blog.chinaunix.net/uid-28379365-id-5017449.html...

  • 对storm1.2.3 并行度的理解

    storm的主要组件 topology是对storm进行程序开发的主要组件,一个topology通常由spout和...

  • Apache Storm

    Apache Storm Apache Storm Use Cases Real Time Storm Proje...

网友评论

    本文标题:storm并行

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