Flink On Yarn模式, 限制任务上传的数量

背景

Flink On Yarn的模式, 每次启动任务会将相应的依赖包和flink依赖的jar包, 提交到HDFS上的/user/hdfs/.flink目录下; 随着Flink任务的不断启停或者新任务的加入, 该目录会越来越大最终导致磁盘空间不足, 从而使对应机器上的进程出现异常

我的猜想在Yarn上应该有控制历史提交数量的参数, 找到了个参数很相近的yarn.resourcemanager.max-completed-applications, 实验过后并非如此,找了一圈应该是查找的方向错了;Flink的任务只是托管到Yarn让其执行而已,从目录就可以看出来/user/hdfs/.flink,于是从flink-conf.yaml的配置开始查找,依旧没有发现,那就从启动流程来看看,找找源码

查找源码

根据目录结构的关键字去查找源码, 如plugins, 找到源码之后YarnApplicationFileUploader就知道怎么改了, 加入一些自定义的参数, 做校验清理等操作, 不过考虑到接口的单一性原则还有项目的维护性, 不建议这么做, 更改源码是不得已的做法; 目前可靠的做法, 机器纳入监控, 手工或定时任务去清理过期的Application的数据

目录结构

源码位置

YarnApplicationFileUploader

参考文章

Flink On Yarn任务提交流程以及原理

你可能感兴趣的:(Flink On Yarn模式, 限制任务上传的数量)