• 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?

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

  • 相关阅读:
    vagrantfile 示例
    服务器raid查看
    redis 使用记录
    golang 典型并发任务
    percona-server-mongodb 通用二进制下载
    命令之iperf-服务器之间网络测速
    用awk在命令行处理分析日志
    python是解释型还是编译型
    使用github action发布python包到Pypi
    算法图解学习系列--第6章--广度优先搜索算法BFS
  • 原文地址:https://www.cnblogs.com/yb38156/p/15732381.html
Copyright © 2020-2023  润新知