Метаданные узла имени Hadoop

Меня немного смущает архитектура Hadoop.

  1. Какие метаданные файлов хранятся в Hadoop Namenode? Из вики Hadoop говорится, что Namenode хранит все системное пространство имен. Хранится ли такая информация, как время последнего изменения, время создания, размер файла, владелец, разрешения и т. д., в Namenode?

  2. Хранит ли datanode какие-либо метаданные?

  3. Существует только один Namenode, могут ли данные метаданных превышать лимит сервера?

  4. Если пользователь хочет загрузить файл из Hadoop, должен ли он загружать его из Namenode? Я нашел приведенное ниже изображение архитектуры в Интернете, оно показывает, что клиент может напрямую записывать данные в узел данных? Это правда? введите здесь описание изображения

Спасибо!!!!!!!


person leon    schedule 07.06.2011    source источник
comment
проверьте приведенные ниже сведения, используя узел вторичного имени mplsvpn .info/2012/11/ С уважением, Шивлу Джейн   -  person    schedule 15.11.2012


Ответы (6)


Я думаю, что следующее объяснение поможет вам лучше понять архитектуру HDFS. Вы можете считать узел Name похожим на FAT (таблица размещения файлов) + данные каталога и узлы данных как тупые блочные устройства. Если вы хотите прочитать файл из обычной файловой системы, вы должны перейти в каталог, затем перейти в FAT, получить расположение всех соответствующих блоков и прочитать их. То же самое происходит с HDFS. Когда вы хотите прочитать файл, вы переходите к Namenode, получаете список блоков, которые есть в данном файле. Эта информация о блоках будет содержать список узлов данных, на которых эта информация находится. После этого вы переходите к датаноде и получаете от них соответствующие блоки.

person David Gruzman    schedule 08.06.2011

  1. fsimage на узле имени находится в двоичном формате. Используйте «Offline Image Viewer», чтобы выгрузить fsimage в удобочитаемом формате. Выходные данные этого инструмента можно дополнительно проанализировать с помощью свиньи или другого инструмента для получения более значимых данных.

http://hadoop.apache.org/hdfs/docs/r0.21.0/hdfs_imageviewer.html

person Praveen Sripati    schedule 08.06.2011
comment
Вышеупомянутая ссылка устарела. Вот ссылка на средство просмотра изображений для HDFS 2.7.5: hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-hdfs/ - person Parth Shah; 08.02.2018

  1. да
  2. нет, кроме самих блоков
  3. да, если у вас много мелких файлов
  4. нет, информация о файле находится на Namenode, сам файл находится на Datanodes (теоретически datanode может быть на той же машине и часто находится на меньших кластерах)
person johndodo    schedule 07.06.2011

3) Когда количество файлов настолько велико, один Namenode не сможет хранить все метаданные. На самом деле это одно из ограничений HDFS. Вы можете проверить федерацию HDFS, которая направлена ​​​​на решение этой проблемы путем разделения на разные пространства имен, обслуживаемые разными узлами имен.

4)

Read process :    
a) Client first gets the datanodes where the actual data is located from the namenode 
b) Then it directly contacts the datanodes to read the data

Write process : 
a) Client asks namenode for some datanodes to write the data and if available Namenode gives them 
b)Client goes directly to the datanodes and write
person hari_sree    schedule 10.12.2011

На вопрос № 4. Клиент записывает данные напрямую в Datanode. Однако, прежде чем он сможет писать в DataNode, ему нужно поговорить с Namenode, чтобы получить метаданные, например, какой Datanode и в какой блок записывать.

person Jing Wang    schedule 07.08.2014

  1. Да, NameNode управляет ими. Также часто эти данные будут сохраняться в fsimage и редактировать файлы, которые будут находиться на локальном диске.

  2. Нет, все метаданные будут поддерживаться NameNode. Из-за чего нагрузка на узел данных будет меньше для поддержания метаданных.

  3. Будет только один основной NameNode. Как я уже сказал, для управления ограничением размера метаданных данные будут часто сохраняться в fsimage и редактироваться с помощью контрольных точек.

  4. Клиент может связаться с DataNode, как только он получит информацию о файле от NameNode.

person Nandakishore    schedule 09.02.2016