Долгое время я наблюдал, что платформа Hadoop устанавливает контрольную точку для текущего каталога корзины независимо от временного интервала, тогда как безвозвратно удаляет файл/каталог в течение указанного интервала удаления после создания автоматической контрольной точки. Вот что, я тестировал:
vi core-site.xml
<property>
<name>fs.trash.interval</name>
<value>5</value>
</property>
hdfs dfs -put LICENSE.txt /
hdfs dfs -rm /LICENSE.txt
fs.TrashPolicyDefault: конфигурация корзины Namenode: интервал удаления = 5 минут, интервал очистки = 0 минут. Перемещено: «hdfs://hacluster/LICENSE.txt» в корзину по адресу: hdfs://hacluster/user/hduser/.Trash/Current.
hdfs dfs -ls -R /user/hduser
/user/hduser/.Корзина/Текущий
/user/hduser/.Trash/Current/LICENSE.txt
Через некоторое время:
/пользователь/hduser/.Trash/160229140000
/user/hduser/.Trash/160229140000/LICENSE.txt
Я создал образец сценария bash, чтобы отслеживать, в какой момент Hadoop устанавливает для каталога «Current» контрольную точку, а после контрольной точки удаляет в указанный интервал мусора:
Интервал корзины: 5 минут
- Автоматическая контрольная точка — около 30 секунд.
- Окончательное удаление — примерно 5 минут.
Интервал корзины: 10 минут
- Автоматическая контрольная точка — около 90 секунд
- Окончательное удаление — примерно 10 минут.
Интервал корзины: 15 минут
- Автоматическая контрольная точка — около 630 секунд.
- Окончательное удаление — примерно 15 минут.
Интервал корзины: 20 минут
- Автоматическая контрольная точка — около 1080 секунд.
- Окончательное удаление — примерно 20 минут.
Интервал корзины – 20 минут (удаление — ручная проверка)
hdfs dfs -expunge
- Ручной контрольно-пропускной пункт - сразу
- Окончательное удаление — примерно 20 минут.
Может ли кто-нибудь помочь понять, когда Hadoop создает эту контрольную точку. Какой механизм был принят для создания контрольно-пропускного пункта для мусора? Если это доступность ресурсов, то моя тестовая среда не имеет накладных расходов во время этого теста.