Общие сведения о функциональности моментальных снимков Hadoop

Я пытаюсь понять механизм моментального снимка Hadoop (http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html). К сожалению, на официальном сайте apache очень мало информации, поэтому пишите сюда.

Я попробовал эту функцию в своем кластере Hadoop. Прежде чем получить снимок, я пытаюсь использовать утилиту hdfs dfsadmin -report:

[hdfs@bda11node01 ~]$ hdfs dfsadmin -report
...
DFS Used: 15521319604094 (14.12 TB)

Делаю снимок durrectory /tmp и получаю подкаталог:

[hdfs@bda11node01 ~]$ hadoop fs -du -s -h  /tmp/.snapshot/snap3
5.1 T  /tmp/.snapshot/snap3

Первое, что меня удивило, это размер снимка и время, за которое он был сделан. Время подошло сразу, размер совпал. Второе, что меня удивило, это отчет утилиты hdfs:

[hdfs@bda11node01 ~]$ hdfs dfsadmin -report
    ...
    DFS Used: 15521319604094 (14.12 TB)

после этого я удаляю один подкаталог из каталога /tmp и запускаю восстановление... Этот каталог был восстановлен... но я не понимаю, как это сделать. Может ли кто-нибудь описать более подробно? Спасибо!


person Mijatovic    schedule 05.08.2014    source источник


Ответы (1)


Моментальные снимки HDFS аналогичны постоянной структуре данных со структурным разделением в том смысле, что нет предварительного копирования данных для нового снимка, только указатель на исходный снимок (точнее, новая запись в айноде). Только в модификациях (добавления и усечения для HDFS), которые записывают какие-либо данные. Это похоже на копирование при записи (COW), используемое во многих реализациях моментальных снимков.

Эта работа была выполнена в JIRA HDFS-2802, где хорошо обсуждался дизайн, включая Сам документ HDFS Design. *NB: Обсуждаемые моментальные снимки RW еще не реализованы.

person dstoflet    schedule 09.08.2014