Flink on Yarn

本文详细介绍了Apache Flink在YARN上运行的两种模式:Session-Cluster和Per-Job-Cluster。Session-Cluster模式下,资源固定,适合小规模、短时间作业,而Per-Job-Cluster模式则按需分配资源,适合大规模、长时间运行的作业。启动和提交任务的命令行参数也在文中给出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flink 提供了两种在 yarn 上运行的模式,分别为 Session-Cluster 和 Per-Job-Cluster模式。
1) Session-cluster 模式:
在这里插入图片描述
Session-Cluster 模式需要先启动集群,然后再提交作业,接着会向 yarn 申请一块空间后,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到yarn 中的其中一个作业执行完成后, 释放了资源, 下个作业才会正常提交。所有作业共享 Dispatcher 和 ResourceManager;共享资源;适合规模小执行时间短的作业。
在 yarn 中初始化一个 flink 集群,开辟指定的资源,以后提交任务都向这里提交。这个 flink 集群会常驻在 yarn 集群中, 除非手工停止

  • 启动方式
./yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test -d

其中:

-n(--container): TaskManager   的数量。
-s(--slots): 每个 TaskManager 的 slot 数量,默认一个 slot 一个 core,默认每个taskmanager 的 slot 的个数为 1, 有时可以多一些 taskmanager,做冗余。
-jm: JobManager 的内存( 单位 MB)-tm:每个 taskmanager 的内存(单位 MB)-nm: yarn 的 appName(现在 yarn 的 ui 上的名字)-d:后台执行。
  • 执行任务
./flink run -c com.wen.flink.WordCountDemo
FlinkWorkCount-1.0-jar-with-dependencies.jar --host lcoalhost –port 9999

2) Per-Job-Cluster 模式:
在这里插入图片描述
一个 Job 会对应一个集群,每提交一个作业会根据自身的情况,都会单独向 yarn 申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享 Dispatcher 和 ResourceManager,按需接受资源申请;适合规模大长时间运行的作业。
每次提交都会创建一个新的 flink 集群,任务之间互相独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。

提交job

./flink run –m yarn-cluster -c com.wen.flink.WordCountDemo
FlinkWorkCount-1.0-jar-with-dependencies.jar --host lcoalhost –port 9999
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值