[flink-008]分布式计算环境

(译改自https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/runtime.html)

在分布式环境下,flink把多个算子子任务operator subtask,chain链接成一个task。每个task由一个线程执行。

flink集群有两种角色:

JobManager,也叫master,管理计算环境,包括规划任务,同步检查点,处理错误恢复等,每个集群至少有一个master,HA时有多个master,其中一个是leader,其他的叫standby;

TaskManager,也叫worker,执行任务,存储和交换数据流,每个集群至少有一个worker。

flink client,不是集群的一部分,它是集群外的节点,主要作用是向集群提交任务,提交后可以断开跟集群的连接。

集群的一个节点,至少有一个worker,硬件资源足够,也可以有多个worker。每个worker,运行一个TaskManager,是一个JVM进程,可以在多个线程上执行多个任务。在一个JVM上的任务,共享TCP连接,共享心跳,共享部分数据结构。每个TaskManger至少有一个TaskSlot,负责执行Task。Task Slot数量决定能同时执行的任务数。如果一个TaskManger有3个Task Slot,那么每个Task Slot使用TaskManger控制的内存的三分之一,Task Slot只均分内存资源,不均分CPU资源。

存盘点SavePoint,是手工保存的检查点,象打游戏一样,定期存盘,如果后续出错了,重新导入数据,重新计算。

 

你可能感兴趣的:(flink)