Кто-нибудь может это прояснить? Хранилище блочного пула не разделено

Я читаю Hadoop — Полное руководство Тома Уайта, 4-е издание, где он пишет:

«Однако хранилище пула блоков не разделено, поэтому узлы данных регистрируются с каждым узлом имен в кластере и хранят блоки из нескольких пулов блоков».

Кто-нибудь может это прояснить? Конкретно если...

NameNodeA: blockpool for DataNode1 and DataNode2
NameNodeB: blockpool for DataNode3 and DataNode4

... хранит ли NameNodeB пул блоков NodeNameA? Это кажется расточительным, поскольку автор ранее писал, что «узлы имен не взаимодействуют друг с другом».

Обновление: после просмотра комментариев здесь и повторного прочтения кажется, что это работает следующим образом: вы можете разделить пространство имен на федеративные узлы имен, которые управляют разделом (например, /user), но, тем не менее, содержат все пространство имен (например, /user /foo /bar).


person mellow-yellow    schedule 27.07.2017    source источник
comment
Поправьте меня, если я ошибаюсь, но именно так работает HDFS Federation, не так ли? Все узлы данных подключены к единому пространству имен, называемому пулом блоков, к которому имеют доступ все узлы имен. Таким образом, узлам имен не нужно подключаться друг к другу, им просто нужно получить доступ к пулу, и все узлы имен будут иметь метаданные для FS.   -  person philantrovert    schedule 28.07.2017


Ответы (1)


По этой ссылке более подробно объясняется архитектура. Он был создан одним из коммиттеров Hadoop в Yahoo. Я ошибочно подумал, что существует одно пространство имен, но на самом деле у вас может быть несколько пространств имен.

person mellow-yellow    schedule 05.08.2017