Задание потоковой передачи Spark не удаляет случайные файлы - PullRequest
0 голосов
/ 22 октября 2018

У меня есть задание потоковой передачи, которое запускается на 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.c.target-size-mb 5000

Но это не решило проблему.

В настоящее время я перезагружаю работу автоматически и запускаю новую каждые несколько часов, а когда приложение останавливается, оно удаляеткеш

Что можно сделать, чтобы пряжа удалила файлы кеша?

Спасибо

1 Ответ

0 голосов
/ 06 ноября 2018

У меня было задание cron (ежечасно) очищать файлы / каталоги старше 6 часов, чтобы устранить проблему с диском из дискового пространства, я не нашел параметра в spark / yarn, который бы делал это автоматически, вот подробности.

запись в crontab.

0 * * * * /home/hadoop/clean_appcache.sh >/dev/null 2>&1

clean_appcache.sh

#!/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 {} \;
...