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

Apache Flink - 分布式运行环境的更多相关文章

  1. Apache Flink 分布式运行时环境

    Tasks and Operator Chains(任务及操作链) 在分布式环境下,Flink将操作的子任务链在一起组成一个任务,每一个任务在一个线程中执行.将操作链在一起是一个不错的优化:它减少了线 ...

  2. Hadoop-01 搭建hadoop伪分布式运行环境

    Linux中配置Hadoop运行环境 程序清单 VMware Workstation 11.0.0 build-2305329 centos6.5 64bit jdk-7u80-linux-x64.r ...

  3. AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  4. ubuntu 下搭建apache+python的运行环境

    ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...

  5. 在Ubuntu12.0至14.04版本之间用Apache搭建网站运行环境

    为了顺利安装各种软件,先更新下系统. apt-get update 安装Apache服务 apt-get install apache2 -y 安装php apt-get install php5 - ...

  6. apache flink kubernetes 运行试用

    类似docker-compose 运行模式,使用的是deploy 的模式 deploy yaml 文件 deploy-k8s-yaml apiVersion: extensions/v1beta1 k ...

  7. apache flink docker-compose 运行试用

    apache 是一个流处理框架,官方提供了docker 镜像,同时也提供了基于docker-compose 运行的说明 docker-compose file version: "2.1&q ...

  8. Mac下搭建Apache+PHP+MySql运行环境

    https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...

  9. win10本地搭建apache+php+mysql运行环境

    首先下载所需软件: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.mi ...

随机推荐

  1. IO流的部分类简述

    InputStream 类: InputStream 位于 java.io 包中,它是一个抽象类,表示字节输入流,需要定义 InputStream 子类的应用程序必须总是提供返回下一个输入字节的方法 ...

  2. Java 面向对象(六)接口

    一.接口 接口:是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量.构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(J ...

  3. SVN配置使用及移植

    使用svn作为配置管理工具及其普遍的用于项目开发中,网上有很多关于svn的原理介绍及命令行管理教程.这里仅仅分享下个人配置及使用的过程,不通过命令行,可简单的上手操作.如有遗漏欢迎留言交流. 配置及使 ...

  4. S2-019、S2-020

    前言 “Struts2系列起始篇”是我整各系列的核心,希望大家能花些时间先看看. 正文 我发现关于一些早期的Struts2的漏洞,网上的分析文章并不多,不知道是不是我打开浏览器的方式不对,唯一看到的两 ...

  5. C++ 容器一图以蔽之

    读完C++ primary 容器相关章节,有必要总结一下容器的要点,一图说明. 其中的问题,以下是我的一些想法,欢迎交流. 问题1. STL源码剖析 · vector 问题2. STL源码剖析 · R ...

  6. 分布式爬虫-bilibili评论

    实属课程需要,不然早就放弃在半路了.维持了断续半个多月的 bug 调试,突然就实现了.很是欣慰.网上关于分布式爬虫的都是一些介绍,实战的不多并且都很相似,说的云来雾去的,只是项目的流程.可能是项目一路 ...

  7. U盘装manjaro 18报Python error in job “initcpio”

    更新: 还是不行,大家再找别的方法. 以下内容仅做参考,意义不大. U盘安装 用rufus做U盘,写入选DD模式,比ISO模式可靠点. 错误解决 报错信息: Error installing Manj ...

  8. C++ 中对vector<T*> 数组的查找和排序

    /* 2015-06-06 本文主要叙述对于vector<T*> (指针数组)如何进行find 操作下面的代码实现了Find,FindRange 模板函数, 解释了为什么std::find ...

  9. Java 基础 - 泛型类/泛型方法/类型通配符'?' 的用法及栗子

    笔记: /**1.定义一个PairTest泛型类, 测试泛型 类 Pair的用法 * class Pair<T>{ * private T first; * private T secon ...

  10. JS不间断向上滚动 setInterval和clearInterval

    <div id=demo style=overflow:hidden;height:139;width:232;background:#f4f4f4;color:#ffffff><d ...