2015-05-17 1 views

ответ

1

Как известно, метаданные файла хранятся в Namenode, и фактические данные хранятся в Datanodes кластера.

Если вы переместили файл 10 Gig, тогда определенные метаданные этого файла будут сохранены в Namenode, и данные будут храниться в Datanodes. Но размер вашего файла намного больше размера блока (обычно 64 МБ или 128 МБ), тогда данные файла будут определенно сохранены во многих блоках разных Datanodes (из-за коэффициента репликации) кластера.

Только Namenode знает данные о местоположении данных в кластере.

1

Всякий раз, когда файл копируется в HDFS, он будет распределяться среди подчиненных узлов. В зависимости от размера файла он может распространяться на несколько или несколько datanodes. вы можете проверить распределение своего файла с помощью команд «fsck». Используйте команду ниже, чтобы проверить параметры распределения файлов.

$ hdfs fsck <absolute path to your file on hdfs> 
0

Да, copyFromLocal операция распределит chuncks ваших входных данных по скоплению вместе с тиражируемых копий. Любая операция, посредством которой вы записываете содержимое в HDFS, будет распространять данные по кластеру.

По каким-либо причинам служба Namenode не будет хранить данные, поскольку она только готовит узлы списка данных, доступные для хранения данных в каждом кластере, когда любой клиент, включая hadoop -copyFromLocal, пытается записать данные. После того, как клиент получает список узлов данных из namenode, клиент берет на себя обработку данных данных в узлах данных вместе с репликацией.

Анатомия файла Напишите из раздела 3 руководства Hadoop Definitive Guide, который поможет вам ясно понять этот сценарий.

В любом случае вы можете очень хорошо проверить, как ломти/были распределены по кластеру, используя следующую команду блоков данных,

hadoop fsck <hdfs_file_path> -files -blocks -locations 

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

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