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取消。

最新文章

  1. VC++ : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>
  2. scrollView的讲解
  3. Rails--抛出异常
  4. img图片下面出现莫名的下边距解决办法
  5. 计数排序 + 线段树优化 --- Codeforces 558E : A Simple Task
  6. c#部分---用结构体的题目- //请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体)
  7. XSS跨站及利用
  8. O(1)调度器的时间计算公式与CFS调度器
  9. android调试系列--使用ida pro调试so
  10. Oracle系列:记录Record
  11. 日历上添加活动通知(Asp.net)
  12. 精通 JS正则表达式(转)
  13. 爬虫基础(五)-----scrapy框架简介
  14. resultset 查询时返回多个相同值
  15. 混合现实开发教程unity2017
  16. 【opencv基础】图像的几何变换
  17. c#里面如何激活一个外部程序进程并显示在最前
  18. PDF截取矢量图
  19. ios block一定会犯的几个错误
  20. java 项目 存入mysql后 变问号 MySql 5.6 (X64) 解压版 1067错误与编码问题的解决方案

热门文章

  1. springboot启动流程(七)ioc容器refresh过程(上篇)
  2. jdk8的环境配置
  3. PHP常见算法
  4. ASIHTTPRequest源码简单分析
  5. 软件打包 Inno
  6. c# 动态获取http通过post传来的json数据
  7. 【前端】低版本IE浏览器访问网站一片空白
  8. LeetCode--链表
  9. Paper Reading:Mask RCNN
  10. [转]python3 跨目录模块调用,你真的懂了吗?