我有一个在EMR上运行的火花流工作,从Kafka读取消息并输出到S3。
我使用emr-5.17.0,即hadoop 2.8.4,spark 2.3.1
问题是随机文件正在积累:/ mnt / yarn / usercache / hadoop / appcache / application_1540126328960_0001 /
并且永远不会被删除,直到我的磁盘空间不足
文件看起来像:shuffle_328_127_0.index,shuffle_328_134_0.data
我确实尝试更新Yarn的政策:yarn.nodemanager.localizer.cache.cleanup.interval-ms 300000 yarn.nodemanager.localizer.cache.target-size-mb 5000
但它并没有解决问题。
目前我自动重新启动作业并每隔几个小时启动一个新作业,当应用程序停止时,它会删除缓存
为了使纱线删除缓存文件,我该怎么办?
谢谢
我有一个cron作业(每小时)清理超过6小时的文件/目录来修复磁盘空间问题,我没有在spark / yarn中找到自动执行此操作的参数,这里是详细信息。
crontab条目。
0 * * * * /home/hadoop/clean_appcache.sh >/dev/null 2>&1
clean_app cache.是
#!/bin/bash
BASE_LOC=/mnt/yarn/usercache/hadoop/appcache
sudo find $BASE_LOC/ -mmin +360 -exec rmdir {} \;
sudo find $BASE_LOC/ -mmin +360 -exec rm {} \;