Flink on yarn

Flink on yarn

1.flink 与 yarn 的交互

在这里插入图片描述

2.配置

关闭yarn的内存检查,yarn-site.xml。并分发给其他节点。

<property>
	<name>yarn.nodemanager.pmem-check-enabled</name>
	<value>false</value>
</property>
<property>
	<name>yarn.nodemanager.vmem-check-enabled</name>
	<value>false</value>
</property>

是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。在这里面我们需要关闭,因为对于flink使用yarn 模式下,很容易内存超标,这个时候yarn会自动杀掉job。

3.Session模式

在这里插入图片描述
特点:需要事先申请资源,启动JobManager和TaskManger
优点:不需要每次递交作业申请资源,而是使用已经申请好的资源,从而提高执行效率
缺点:作业执行完成以后,资源不会被释放,因此一直会占用系统资源应用场景:适合作业递交比较频繁的场景,小作业比较多的场景
实现模式:yarn-session.sh(开辟资源)+flinkrun(提交任务)

  • 在yarn上启动一个Flink会话,执行以下命令:
 yarn-session.sh-n2-tm 800 -s1-d  

说明:
1.-n表示申请2个容器,这里指的就是多少个taskmanager
2.-tm表示每个TaskManager的内存大小
3.-s表示每个TaskManager的slots数量
4.-d表示以后台程序方式运行

  • 提交任务
flinkrun/usr/software/flink-1.13.0/examples/batch/WordCount.jar

在yarn的8088界面可以看到Flinksessioncluster正在运行。

  • 关闭yarn会话
yarn application-killapplication_id 

4.Per-job模式

在这里插入图片描述
特点:每次递交作业都需要申请一次资源
优点:作业运行完成,资源会立刻被释放,不会一直占用系统资源
缺点:每次递交作业都需要申请资源,会影响执行效率,因为申请资源需要消耗时间
应用场景:适合作业比较少的场景、大作业的场景
实现模式:直接提交job

flink run -m yarn-cluster -yjm 1024 -ytm 1024 /usr/software/flink-1.13.0/examples/batch/WordCount.jar

说明:
1.-m jobmanager的地址
2.-yjm1024 指定jobmanager的内存信息
3.-ytm1024 指定taskmanager的内存信息

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值