美文网首页
storm 架构篇

storm 架构篇

作者: 起个什么呢称呢 | 来源:发表于2018-08-06 17:01 被阅读48次

Storm集群,利用了分布式系统中经典的master/slave架构。以下显示的是一个Storm集群,其中master节点为Nimbus,slave节点有四个,称之为supervisor。

在传统的master/slave架构中,都是master节点负责任务的接受、分配、监控等管理任务,从节点负责任务的执行。

总的来说,storm中的主从架构,基本上也符合这个规则。(以下纯属个人理解)不过storm对这个master/slave架构有着一定的扩展:

主节点Nimbus依然是负责在集群分发任务(Topology)的代码以及监控等。

从节点Supervisor的任务有点改变,其并不是自己直接执行任务。在接受到一个任务的时候,Supervisor会启动一个或多个进程(称之为Worker),来处理任务。所以实际上,任务最终都是分配到了worker上。

默认情况下,一个supervisor最多可以启动4个进程,也就是启动四个worker,当然我们也可以进行修改。这样设计的目的实际上是为了充分利用现代多核CPU的特性,storm是计算密集型的框架,一台机器只启动一个进程太浪费了,因此supervisor同时启动多个进程(worker)来进行处理任务。事实上,你可以这样理解,nimbus分配任务时,它是不关心有几个supervisor的,其关心的是有多少个worker,因为任务(Topology)最终都是通过worker来执行的。假设我们向Storm集群中提交一个Topology,指定由四个worker来执行。那么nimbus最终就会分配四个worker来执行这个任务,至于这个4个worker是分配在一个还是多个supervisor节点上,nimbus是不关心的。

让我们用一个案例来进行更加详细的说明:

假设我们现在有一个Storm集群,一台nimbus和4台supervisor,默认情况下,一个supervisor可以启动4个worker。因此如下图所示,我们的集群中现在有16个worker。现在我们向这个集群中提交一个Topology,指定要有4个worker来执行。图中星号标记的就是使用到的worker。

从图中,我们可以看到这四个worker分配在supervisor1(1个worker)、supervisor2(2个worker)和supervisor3(1个worker)上。可以看到,并不是一个supervisor分配一个worker。这是因为nimbus是对Topology的任务分配,是针对worker来的,我们指定了Topology要四个worker,然后我们总共有16个worker,storm只要从这个16个worker中选择四个worker就行了,并不会平均分配。这就有可能导致,选择出来的worker中,可能有些是位于同一个supervisor中的,例如案例中就有2个worker位于supervisor2上,而另外一些supervisor可能不需要执行任务,例如supervisor4。

相关文章

  • Zookeeper+Storm集群搭建

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

  • storm 架构篇

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

  • 32 storm 单词计数

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

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

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

  • Storm容错机制(一):ACK机制

    前言 好久没有写文章了,然后一连就写了三篇,前两篇文章Storm入门(一):编程模型Storm入门(二):架构模型...

  • Storm | 架构

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

  • 从集群看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 架构篇

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