文章目录
1.作业管理器 jobmanager
jobmaster
1.作业提交时,接收要执行的应用:jar包、数据流图、作业图
2. jobmaster把作业图转换成为物理层面的数据流图:执行图,包含了所有可并发的任务
3. jobmaster向resource manager发出请求,申请必要资源,4. 获得资源后,执行图分发到taskmanager上
运行中,chekpoints协调
resoucemanager
资源分配,资源:task slots
每一个任务都需要分配到一个slot上执行
dispatcher(不必要)
分发器,提供rest接口,启动web UI
2.task manager
- 多个
- 每个taskmanager包含了一定数量的任务槽,任务槽的数量决定了taskmanager能够并行的任务数量
- 执行中,taskmanager可以与其他运行相同app的taskmanager进行交换数据
3.作业提交流程
yarn会话模式作业提交流程
4.算子链
5. 并行度
把算子在不同的机器上复制多份,一个特定算子的子任务的个数称之为其并行度(paralleism)
- 任务并行
- 数据并行☆
6.执行图
7.任务&任务槽
8.思考
8.1 flink程序如何得到job
程序&数据流 dataflow
flink程序包含三部分:
source(输入) + transformation(各种算子:flatmap、sum) + sink(输出)
dataflow是以一个或多个source开始,一个或多个sink结束,类似任意的有向无环图