• 【Storm】核心组件nimbus、supervisor、worker、executor、task


    nimbus

    是整个集群的控管核心,负责topology的提交、运行状态监控、任务重新分配等工作。
    zk就是一个管理者,监控者。
    总体描述:nimbus下命令(分配任务),zk监督执行(心跳监控worker、supurvisor的心跳都归它管),supervisor领旨(下载代码),招募人马(创建worker和线程等),worker、executor就给我干活!task就是具体要干的活。

    主控节点与工作节点

    Storm集群中有两类节点:主控节点(Master Node)和工作节点(Worker Node)。其中,主控节点
    只有一个,而工作节点可以有多个。

    Nimbus进程与Supervisor进程

    主控节点运行一个称为Nimbus的守护进程类似于Hadoop的JobTracker。Nimbus负责在集群中分发代
    码,对节点分配任务,并监视主机故障。
    每个工作节点运行一个称为Supervisor的守护进程。Supervisor监听其主机上已经分配的主机的作业,
    启动和停止Nimbus已经分配的工作进程。

    流分组(Stream grouping)

    流分组,是拓扑定义中的一部分,为每个Bolt指定应该接收哪个流作为输入。流分组定义了流/元组如何
    在Bolt的任务之间进行分发。
    Storm内置了8种流分组方式。

    工作进程(Worker)

    Worker是Spout/Bolt中运行具体处理逻辑的进程。一个worker就是一个进程,进程里面包含一个或多
    个线程。

    执行器(Executor)

    一个线程就是一个executor,一个线程会处理一个或多个任务。

    任务(Task)

    一个任务就是一个task。

    Topology运行

    在Storm中,一个实时应用的计算任务被打包作为Topology发布,这同Hadoop的MapReduce任务相
    似。但是有一点不同的是:在Hadoop中,MapReduce任务最终会执行完成后结束;而在Storm中,
    Topology任务一旦提交后永远不会结束,除非你显示去停止任务。计算任务Topology是由不同的
    Spouts和Bolts,通过数据流(Stream)连接起来的图。一个Storm在集群上运行一个Topology时,主
    要通过以下3个实体来完成Topology的执行工作:
    (1). Worker(进程)
    (2). Executor(线程)Storm hadoop
    角色 Nimbus JobTracker
    Supervisor TaskTracker
    Worker Child
    应用名称 Topology Job
    编程接口 Spout/Bolt Mapper/Reducer
    (3). Task
    task是线程执行程序中的“函数”,是用户的业务逻辑,是数据处理的实体单元

  • 相关阅读:
    20、虚拟内存的目的是什么?
    19、进程间通信有哪几种方式?把你知道的都说出来
    18、进程通信方法(Linux和windows下),线程通信方法(Linux和 windows下)
    17、操作系统在对内存进行管理的时候需要做些什么?
    16、进程同步的四种方法?
    python学习——生成器表达式
    python学习——闭包
    细说websocket
    git hg提交拉取
    切换samba用户
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807292.html
Copyright © 2020-2023  润新知