Flink Runtime
Flink运行时概念
- JobManager
- TaskManager
- TaskManager Slots
- Job
- Task & Subtask
- Operator
- Parallelism
- Chain
- SlotSharingGroup
- CoLocationGroup
Flink运行时架构
-
Flink运行时架构
-
TaskManager Slots
-
OperatorChain && Task
-
OperatorChain的优点和组成条件
-
如何开关OperatorChain
Slot分配与共享
- 共享Slot
- 共享Slot实例
- SlotSharingGroup(soft)
- ColocatiobGroup(强制)
- 保证所有的并行度相同的subTask运行在同一个slot
- 主要用于迭代流(训练机器学习模型)
Slot与parallelism
- Slots && Parallelism
- 如何计算一个应用需要多少slot呢
Flink部署方式
- Local
- Standalone Cluster
- YARN
- Mesos
- Docker
- Kubernetes
- AWS
- Google Compute Engine
- Local
- Single JVM
- 主要用于调试代码
- Standalone Cluster环境构建
- java8以上、ssh免密…
- Flink on Yarn
- ResourceManger
- NodeManger
- AppMaster(JobManager与其运行在同一个container)
- Container(TaskManager运行在其中)
- YarnSession
- 选择On Yarn的好处
- 比Standalone的机器利用率高
- Hadoop 开源活跃、技术成熟