zoukankan      html  css  js  c++  java
  • 05Flink 运行时架构

    JobManager

    协调和申请slot,分配task任务

    TaskManager

    执行Execution Grah

    Flink中每一个TaskManager都是一个JVM进程,它可能会在独立的线程上执行一个或多个子任务

    为了控制一个TaskManager能接收多少个task,TaskManager通过task slot来进行控制(一个tm至少一个slot)

    每个线程都需要分配一个slot,在slot里执行任务和分配资源

    任务可能存在合并

    taskmanager.numberOfTaskSlots:每个tm里最多多少个slot(最大并行能力)
    parallelism.default: 程序运行时默认的并行能力

    ResourceManager

    管理slot资源,yarn资源平台等

    Dispatcher(分发器):

    web ui,接口等

    Slots

    默认情况下,Flink允许子任务共享slot,即使他们是不同任务的子任务,这样的结果是,一个slot可以保存作业的整个管道

    Task slot是静态的概念,是指TaskManager具有的并发执行能力

    怎样进行并行计算?

    设置不同的并行度,分配到不同的slot上,多线程执行

    并行度Parallelism是什么?

    一个特定算子的子任务(subtask)的个数被称之为其并行度

    一般情况下,一个stream的并行度,可以认为其所有算子中的最大并行度

    并行的任务,需要占用多少slot?

    一个流处理程序,到底包含多少个任务?

  • 相关阅读:
    java的锁机制
    视图生命周期
    UIButton @selector 想要传递多个参数
    UIButton @selector 想要传递多个参数
    UITableView 实现A1A2---Z1Z2.。。。。
    iOS 代理
    PickerView
    照片墙
    分栏控制器
    XIB 拖控件
  • 原文地址:https://www.cnblogs.com/yb38156/p/15732381.html
Copyright © 2011-2022 走看看