Почему для файлов Name Node используется двойной объем памяти? - PullRequest
1 голос
/ 28 июня 2019

Cloudera блог или в hortonwork форум читаю ::

"Каждый файл, каталог и блок в HDFS представлен как объект в памяти namenode, каждый из которых, как правило, занимает 150 байтов. Таким образом, 10 миллионов файлов, каждый из которых использует блок, будут использовать около 3 гигабайт памяти "

НО:

10000000 * 150 = 1500000000 байт = 1,5 ГБ.

Похоже, для 3 ГБ мне нужно выделить 300 байтов. Я не понимаю, почему 300 байтов используются для каждого файла вместо 150? Это просто NameNode. Там не должно быть никакого фактора репликации.

Спасибо

1 Ответ

2 голосов
/ 29 июня 2019

Для каждого небольшого файла namenode должен хранить два объекта в памяти: объект для файла и объект для блока. В результате получается примерно 300 байт на один файл.

...