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取消。
Apache Flink - 分布式运行环境的更多相关文章
- Apache Flink 分布式运行时环境
Tasks and Operator Chains(任务及操作链) 在分布式环境下,Flink将操作的子任务链在一起组成一个任务,每一个任务在一个线程中执行.将操作链在一起是一个不错的优化:它减少了线 ...
- Hadoop-01 搭建hadoop伪分布式运行环境
Linux中配置Hadoop运行环境 程序清单 VMware Workstation 11.0.0 build-2305329 centos6.5 64bit jdk-7u80-linux-x64.r ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- ubuntu 下搭建apache+python的运行环境
ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...
- 在Ubuntu12.0至14.04版本之间用Apache搭建网站运行环境
为了顺利安装各种软件,先更新下系统. apt-get update 安装Apache服务 apt-get install apache2 -y 安装php apt-get install php5 - ...
- apache flink kubernetes 运行试用
类似docker-compose 运行模式,使用的是deploy 的模式 deploy yaml 文件 deploy-k8s-yaml apiVersion: extensions/v1beta1 k ...
- apache flink docker-compose 运行试用
apache 是一个流处理框架,官方提供了docker 镜像,同时也提供了基于docker-compose 运行的说明 docker-compose file version: "2.1&q ...
- Mac下搭建Apache+PHP+MySql运行环境
https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...
- win10本地搭建apache+php+mysql运行环境
首先下载所需软件: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.mi ...
随机推荐
- SIFT算法研究
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://underthehood.blog.51cto.com/2531780/65835 ...
- centos mysql数据库问题:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'(转)
问题描述: 安装好数据库MySQL,进入mysql,设置号密码后,退出的时候,利用密码无法进入,直接回车后可进入,无法看到数据库mysql,use mysql返回错误:ERROR 1044 (4200 ...
- 三角形示例(兼容IE6)
html代码: <!--三角形的绘制--> <div class="sanjiao"></div> css代码: .sanjiao{ width ...
- Layui 实现input 输入和选择
<div class="layui-col-md4"> <label class="layui-form-label">移交单位< ...
- SMTP命令
SMTP(Simple Mail Transfer Protocol)简单邮件传输协议 Basic Commands: HELO(Hello):标识用户身份 MAIL FROM:发件人地址 RCPT ...
- spring data 入门
提出问题 我是Sping Data,是程序员的春天,因为我提供很多接口给开发人员, 减少程序员重复的写CRUD和分页等方法,你们也可以叫我春D,或者春帝,因为我很酷 解决问题 在Spring Data ...
- Octave(控制语句)
for循环遍历 >> v = zeros(,) v = >> v() ans = >> :, v(i) = ^i; end; >> v v = 或者: ...
- mongodb的基本操作之更新不存在的数据
查找y为100的数据 db.test_collection.find({y:100}) 发现没有,这时候将y为100的数据更新为y为999的数据 db.test_collection.update({ ...
- python3 基础二——基本的数据类型一
一.基本的数据类型 Python3 中有六个标准的数据类型Number(数字). String(字符串). List(列表) .Tuple(元组). Sets(集合) .Dictionary(字典) ...
- java学习笔记16-抽象类
抽象类: 定义了一系列的属性和方法的类.抽象方法是不能直接实现功能.需要通过继承去实现具体方法.为了将静态的业务流程跟动态的实现分开. 工厂生产产品时,都需要准备材料,执行组装,产品销售等流程.但是对 ...