В чем разница между fsimage и снимком в hadoop? - PullRequest
2 голосов
/ 21 ноября 2019

Я новичок в hadoop. Я хочу знать разницу между снимком и fsimage , используемым для состояния файловой системы в hadoop. Я слышал, что оба делают одну и ту же работу. тогда в чем разница между ними?

1 Ответ

1 голос
/ 22 ноября 2019

HDFS имеет архитектуру ведущий / ведомый. Кластер HDFS состоит из одного NameNode, главного сервера, который управляет пространством имен файловой системы и регулирует доступ клиентов к файлам. Любые изменения в пространстве имен файловой системы или его свойствах регистрируются узлом NameNode. NameNode использует журнал транзакций, называемый EditLog, для постоянной записи каждого изменения, которое происходит с метаданными файловой системы. Например, создание нового файла в HDFS, изменение коэффициента репликации и т. Д. Заставляет NameNode вставить запись в EditLog, указывающую на это. NameNode использует файл в своей файловой системе локальной операционной системы для хранения EditLog.

FsImage и EditLog идут рука об руку, поэтому это объяснение. Теперь:

Все пространство имен файловой системы, включая отображение блоков в файлы и свойства файловой системы, хранится в файле с именем FsImage. FsImage хранится в виде файла в локальной файловой системе NameNode.

Снимки поддерживают сохранение копии данных в определенный момент времени. Снимок можно сделать и для всей файловой системы. Это не включает в себя копирование данных, но запись размера файла, информации о блоке и т. Д. В каталог моментальных снимков.

В очень нормальных условиях FsImage хранит информацию о том, где хранятся данные, сколько блоков и связанной информации, в то время как Snapshotхранит образ данных / файловой системы, доступный только для чтения.

Надеюсь, это объясняет разницу.

...