文章目录
-
- [Flink 组成](#Flink 组成)
-
- 1.JobManager
- 2.TaskManager
- 3.ResourceManager
- 4.Dispatcher
- 5.Client
- [6. Env](#6. Env)
- [JobManager Metrics](#JobManager Metrics)
- [TaskManager Metrics](#TaskManager Metrics)
Flink 组成
1.JobManager
管理任务
- 作业调度:负责接收和调度作业,分配任务到 TaskManager。
- 资源管理:管理集群资源,协调 TaskManager 的启动和停止。
- 故障恢复:负责作业的故障恢复,重新调度失败的任务。
JobManager 相关参数:
jobmanager.memory.process.size
:JobManager 进程的总内存大小。jobmanager.rpc.address
:JobManager 的 RPC 通信地址。jobmanager.rpc.port
:JobManager 的 RPC 通信端口。
2.TaskManager
执行任务
- 任务执行:负责执行分配给它的任务(如数据处理、计算等)。
- 资源管理:管理分配给它的资源(如 CPU、内存等)。
- 心跳机制:定期向 JobManager 发送心跳,报告自身状态。
TaskManager 相关参数:
taskmanager.numberOfTaskSlots
:每个 TaskManager 提供的任务槽数量。taskmanager.memory.process.size
:TaskManager 进程的总内存大小。taskmanager.network.memory.fraction
:TaskManager 分配给网络缓冲区的内存比例。
3.ResourceManager
资源管理
- 资源分配:管理集群资源,分配资源给 TaskManager。
- 资源回收:回收不再使用的资源,优化资源利用。
- 资源监控:监控集群资源的使用情况,确保资源的合理分配。
4.Dispatcher
分发器
- 作业分发:接收客户端提交的作业,分发给 JobManager。
- 作业管理:管理作业的生命周期,包括提交、调度和完成。
- 作业监控:提供作业的监控信息,如进度、日志等。
Dispatcher 相关参数:
dispatcher.address
:Dispatcher 的地址。dispatcher.port
:Dispatcher 的端口。
5.Client
提交任务
- 作业提交:负责将作业提交到 Flink 集群。
- 作业配置:配置作业的参数和资源需求。
- 作业监控:监控作业的执行状态,提供日志和性能指标。
6. Env
环境
- 执行环境配置:配置作业的执行环境,包括并行度、资源需求等。
- 作业执行:执行作业的逻辑,包括数据源、转换和数据汇出。
环境参数
parallelism.default
:默认的并行度。execution.batch.speculative.enabled
:是否启用推测执行。
JobManager Metrics

TaskManager Metrics

堆内存计算:
