Удаление файлов и директорий
В HDFS можно удалять файлы и директории с помощью CLI, пользовательского интерфейса HDFS или разных API. Для получения информации об использовании этих утилит обратитесь к статье Подключение к HDFS.
При удалении файлов из HDFS удаляются сначала метаданные этих файлов и их реплик в NameNode. Если для блоков файла нет метаданых, они со временем удаляются.
Для внесения любых изменений в каталогах HDFS необходимо иметь права на запись (w
). Если таких прав нет, сервис выдаст ошибку при попытке удалить файл или создать корзину. Более подробную информацию о том, как получить необходимые права доступа или изменить разрешения для каталога, можно получить в статье Защита файлов в HDFS.
Корзина
Корзина — это настройка для безопасного удаления данных. Если в конфигурационном файле core-site.xml включена опция корзины, то при удалении файла будет создана директория .Trash и файл переместится в нее. При этом в метаданных сохранится путь к блокам файла, поэтому файл удален не будет.
В ADH корзина включена по умолчанию. За работу корзины отвечают следующие параметры:
-
fs.trash.interval
— время в минутах, после которого файл будет удален навсегда. Чтобы отключить корзину, установите значение этого параметра равным0
. Значение по умолчанию —1440
. -
fs.trash.checkpoint.interval
— периодичность удаления файлов из корзины в минутах. Значение по умолчанию —60
.
Это значит, что каждые 60 минут (значение fs.trash.checkpoint.interval
) проверяется как долго файлы находятся в корзине. Если какие-то из файлов находятся в корзине дольше, чем 1440 минут (значение fs.trash.interval
), то они удаляются безвозвратно.