Flink并行度优先级_集群操作常用指令_运行组件_任务提交流程_数据流图变化过程

Flink并行度优先级(从高到低)

sum(1).setParallelism(1) 
env.setParallelism(1)
ApacheFlinkDashboard任务添加并行度配置
flink-conf.yaml并行度配置
注: 处理输入输出时, 并行度默认为 1

Flink集群常用指令

提交任务
run: 代表执行; c: 指定入口类; p: 并行度; host, post: 主机地址端口
flink run -c com.test.StreamWordCount -p 1 /home/Project/Flink/target/FlinkStudy-1.0-SNASHOT.jar --host localhost --port 7777

取消任务
flink cancel jobId

列出所有 jobId
flink list

Flink部署

  1. Standalone 模式: TaskManager固定, 所有任务共享 Dispatcher 和 ResourceManager, 当任务满了, 剩余任务只能阻塞等待.
  2. Yarn 模式:
    a. Session 模式: 与Standalone模式一样, 不同点在于 TaskManager 进行动态分配, 提高集群扩展能力.
    b. Job 模式: 每个提交的任务单独有一份 Dispatcher, ResourceManager, 适用于特别大的任务, 且每个任务执行耗时很长. 注: job模式下, 不用启动 yarn-session, 直接 flink run -m yarn-cluster -c提交.
  3. Kubernetes 模式
    此处具体部署方式, 未贴出, 详情可见官网说明.

Flink运行组件

  1. JobManager: 作业管理器, 负责作业管理
    控制提交的 job 执行, JobManager 向 ResourceManager 请求 TaskManager 上的 slot, 获取到足够资源, 将该任务的执行图分发到运行的 TaskManager 上, 运行中, JobManager 负责所有需要中央协调的操作(例: checkpoints 协调, 存盘, 故障检测)

  2. TaskManager: 任务管理器, 负责干活
    Flink 中会有多个 TaskManager 执行, 且每个 TaskManager 都包含一定数量的 slot, slot 限制了 TaskManager 能够执行的任务数量.
    TaskManager启动后, 向 ResourceManager 注册 slot, 根据 ResourceManager 调配, 将 slot 提供给 JobManager 调用, JobManager 想 slot 分配任务执行.
    任务在各个执行阶段执行可能使用不同的 slot 执行, 在同一任务下, 不同的 TaskManager 可进行数据交换.

  3. ResourceManager: 资源管理器, 分发资源, 调配 slot
    管理 TaskManager 的 slot.
    在不同的环境下(Yarn, K8s, Standalone), 提供不同的 ResourceManager.
    JobManager 申请资源, ResourceManager 将空闲的 slot 分配给 JobManager, 若 slot 不足, 向资源提供平台发起会话, 提供满足的容器

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值