Flink History Server小文件优化
背景:
通过开启作业归档,JobManger会将结束运行态的Flink作业的统计信息(拓扑信息、运行状态、checkpoint、累加器、异常)归档到远端文件系统。History会从远端下载归档的作业信息并提供查询方式。
一个Flink作业代表平台任务(per-Job集群)的一次运行周期,一个平台任务对应这一个或多个Flink任务。
问题:
随着平台新增任务,以及用户对平台作业的更新迭代操作,归档的作业信息越来越多,很快本地磁盘inode资源就被打满。
通过研究发现主要系存在以下几点:
1、Historyserevr全量下载远端作业归档信息到本地;
2、作业归档信息下载到本地盘后立即解析;
3、单作业的归档信息在HistoryServer本地解析后以多个小文件存储,作业的拓扑结构越复杂、并行度越高,占用的inode资源越多
-
容器环境inode资源有限,很容易被打满:
-
几个月时间,已经产生大量历史作业信息:
<