zoukankan      html  css  js  c++  java
  • Apache Flink 分布式运行环境

    1.任务和操作链

    • 下面的数据流图有5个子任务执行,因此有五个并行线程。

    2.Job Managers, Task Managers, Clients

    • Job Managers:协调分布式运行,他们安排任务,协调检查点,recovery失败等等。至少有一个Job Managers,一个做leader,其他备用。
    • Task Managers:执行数据流的任务,缓冲和交换数据流。至少要有一个Task Managers。
    • client:客户端不是运行时和程序执行的一部分,但用于r准备和向JobManage发送数据流。客户端可以断开,或者保持联系接收进度报告。

    3.任务槽和资源

    • 每个woker(TaskManager)是一个JVM进程,可以在单独的线程中执行一个或更多的子任务。为了去控制一个worker接受多少任务,worker有了所谓的 task slots(至少一个)。
    • 每个任务槽代表了TaskManager资源的一个固定的子集。
    • 默认情况下,Flink允许子任务共享槽,即使他们是不同的任务的子任务,只要他们来自同样的job。这导致了一个槽可能拥有一个job的整个管道。
    • the slot sharing 有两个好处:一.Flink集群在需要最高并行性的job中,需要完全尽可能多的任务槽,不需要计算一个程序包含多少任务(不同并行)。二.更容易获得更好的资源利用率。
    • 根据经验法则,一个很好的默认任务槽数就是CPU核心数。 使用超线程(超线程),每个插槽需要2个或更多硬件线程环境。

    4.后端状态

    • 在key/values索引中的确切的数据结构的存储取决于所选的后端状态。
    • 除了定义的数据结构保存状态,后端状态还实现了key/values的时间点快照状态和作为一个检查点的一部分存储快照的逻辑。

    5.保存点

    • 保存点是手动触发检查点,以程序的快照,写到后端状态。
    • 在Data Stream API编写的程序从一个保存点可以恢复执行。保存点允许不用丢失任何状态更新程序和Flink集群。
    • 在worker节点上,程序执行期间定期快照并产生检查点。
    • 一个新的检查点产生,旧的就会被抛弃。
    • 保存点类似于这些周期的检查点,除了它们由用户触发和当新的检查点完成时不会自动失效。保存点可以从命令行创建或通过REST API取消。
  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/ooffff/p/9418561.html
Copyright © 2011-2022 走看看