Flink 集群的角色及其作用
flink集群一共有三个角色:TaskManager,JobManager,Client
1.JobManager 扮演着集群中的管理者 Master 的角色,它是整个集群的协调者,主要作用有如下几点:
- 负责接收 Flink Job,调度job
- 协调checkpoint
- Failover 故障恢复
- 管理 Flink 集群中从节点 TaskManager,与TaskManager通信
2.TaskManager 是实际负责执行计算的 Worker,在其上执行 Flink Job 的一组 Task,每个 TaskManager 负责管理其所在节点上的资源信息,如内存、磁盘、网络,在启动的时候将资源的状态向 JobManager 汇报。
TaskManager为了对资源进行隔离和增加允许的task数,引入了slot的概念,这个slot对资源的隔离仅仅是对内存进行隔离,策略是均分,每一个slot是一个线程。
3.Client 是 Flink 程序提交的客户端,当用户提交一个 Flink 程序时,会首先创建一个 Client,该 Client 首先会对用户提交的 Flink 程序进行预处理,并提交到 Flink 集群中处理,所以 Client 需要从用户提交的 Flink 程序配置中获取 JobManager 的地址,并建立到 JobManager 的连接,将 Flink Job 提交给 JobManager。