2015-01-29 2 views
2

я глупое сомнение Hadoop calculation.It NameNode памяти упоминается в Hadoop книге (Определенная гид), какПутаница использования NameNode памяти Hadoop

«Поскольку NameNode имеет метаданные файловой системы в памяти, ограничение на число файлов в файловой системе определяется объемом памяти в namenode. Как правило, каждый файл, каталог и блок занимают около 150 байт. Так, например, если у вас есть миллион файлов, каждый из которых занимает один блок , вам понадобится не менее 300 МБ памяти. Несмотря на то, что хранение миллионов файлов возможно, миллиарды превышают возможности текущего оборудования ».

Поскольку каждый из которых принимает один блок, NameNode минимальный объем памяти должен быть 150MB и не 300MB.Please помочь мне понять, почему это 300MB

ответ

1

Я предполагаю, что вы читаете второе издание книги Тома Уайта. У меня есть третье издание, и эта ссылка на сообщение Scalability of the Hadoop Distributed File System. В пост, я прочитал следующее предложение:

Оценки показывают, что имя узла использует менее 200 байт для хранения одного объекта метаданных (файл инод или блок).

Файл в формате HDFS ИмяNode: Файл inode + блок. Каждая ссылка на них имеет 150 байт. 1.000.000 файлов = 1.000.000 inodes + 1.000.000 ссылка на блок (в примере каждый файл занят 1 блок).

2.000.000 * 150 байт = ~ 300Mb

Я поставил ссылку на вы можете проверить, если я совершаю ошибку в моей аргументации.

+0

Thanks.I думаю ваше объяснение есть смысл. –

+0

Что делать, если есть коэффициент репликации 3? Сколько еще потребуется для хранения информации о двух репликах? – lostsoul29

Смежные вопросы