Понимание функции Корзины в Hadoop HDFS
Функция Корзины (Trash) в Распределенной файловой системе Hadoop (HDFS) представляет собой механизм, позволяющий пользователям восстановить случайно удаленные файлы. Когда файл удаляется в HDFS, он не сразу удаляется из файловой системы. Вместо этого он перемещается в специальную директорию, называемую Корзиной (Trash directory), где хранится в течение настраиваемого периода времени перед окончательным удалением.
Функция Корзины обеспечивает пользователей страховочным полотном, позволяя им восстановить удаленные файлы, если они понимают, что совершили ошибку или снова нуждаются в файле. Это особенно полезно в средах обработки больших объемов данных, где случайное удаление файлов может иметь серьезные последствия.
Понимание директории Корзины
Директория Корзины в HDFS представляет собой скрытую директорию, расположенную в корне файловой системы, обычно называемую .Trash
. Когда файл удаляется, он перемещается в директорию Корзины, где хранится в поддиректории, названной по имени пользователя. Это позволяет нескольким пользователям иметь свои собственные директории Корзины и независимо управлять своими удаленными файлами.
Директория Корзины по умолчанию не видна, но вы можете просмотреть ее содержимое с помощью следующей команды HDFS:
hdfs dfs -ls /.Trash
Это отобразит содержимое директории Корзины, включая поддиректории для каждого пользователя и файлы, которые они удалили.
Настройка функции Корзины
Функция Корзины в HDFS настраиваема, и вы можете настроить параметры в соответствии с вашими потребностями. Основные параметры конфигурации:
fs.trash.interval
: Количество минут, по истечении которых содержимое директории Корзины окончательно удаляется. Значение по умолчанию - 0, что означает, что функция Корзины отключена.
fs.trash.checkpoint.interval
: Количество минут между контрольными точками Корзины, когда содержимое директории Корзины сохраняется в файл контрольной точки. Это помогает восстановить директорию Корзины в случае сбоев системы.
Вы можете установить эти параметры в файле core-site.xml
вашей конфигурации Hadoop. Например:
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>60</value>
</property>
В этом примере функция Корзины включена с периодом хранения 1 день (1440 минут), и контрольная точка создается каждые 60 минут.
Включение функции Корзины
Для включения функции Корзины в HDFS вам нужно установить параметр fs.trash.interval
значением больше 0. После включения функции Корзины все файлы, удаляемые с помощью команды hdfs dfs -rm
, будут перемещаться в директорию Корзины вместо окончательного удаления.
Вы можете проверить, включена ли функция Корзины, выполнив следующую команду:
hdfs dfs -touchz /.Trash/test.txt
Если функция Корзины включена, эта команда создаст новый файл с именем test.txt
в директории Корзины. Если функция Корзины отключена, команда завершится с ошибкой.