2016-06-07 3 views
0

Я хочу получить некоторые пояснения и подтверждения о моем понимании блоков и входных расщеплений.Hadoop - блоки HDFS и расколы (пока работает mapreduce)

любезно прочитайте и дайте мне знать, если я прав.

  1. Когда файл (скажем, 1 ГБ) копируется из локальной файловой системы HDFS с помощью «поставить» команду, в зависимости от размера блока набора в файлы конфигурации Hadoop, он получит раскол (скажем, 128 MB) в 8 блоков (размер блока 1024 МБ/128 МБ) на 8 разных узлах данных. Также, в зависимости от коэффициента репликации (скажем, 3 раза), он реплицируется на 2 дополнительных копии на разных узлах данных (понимается о локальности данных). Вся эта информация блока (имя файла, имя блока и узлы данных, где они хранятся) хранится в ОЗУ на узле Name. Эта информация не сохраняется в FSImage.

Насколько я понимаю, что до сих пор?

Если я прав до сих пор, что делает FSImage на жестком диске (какой контент в нем)?

  1. Когда мы запускаем задание mapreduce для этого набора данных, программа драйвера разбивает блоки данных, хранящихся в datanodes, на несколько «разделов ввода» (размер настраивается в xml-файлах) , В этом случае, скажем, каждый входной бит составляет 128 МБ, тогда у нас есть 8 разделов ввода, и каждому расколу присваивается процесс Mapper.

Правильно ли я понимаю?

спасибо много вид касается натх

ответ

0

Когда файл (скажем, 1 ГБ) копируется из локальной файловой системы HDFS с помощью «поставить» команду, в зависимости от размера блока, установленного в конфигурационных файлов hadoop, он будет разделен (скажем, 128 МБ) на 8 блоков (размер блока 1024 МБ/128 МБ) на 8 разных узлах данных. Также в зависимости от коэффициента репликации (скажем, 3 раза), он реплицируется на 2 дополнительных копии на разных узлах данных (понимается около данных).

=> Это правильно.

Вся эта информация блока (имя файла, имя блока и узлы данных, где хранятся ) хранится в ОЗУ на узле Name. Эта информация не хранится в FSImage.

=> Вся эта информация хранится в журнале транзакций под названием EditLog.

Что делает FSImage на жестком диске (какой контент в нем)?

=> Он содержит полное изображение файловой системы.

Для полноты ответа, я должен добавить:

  • fsimage представляет собой файл, который представляет состояние файловой системы после всех модификаций до определенного идентификатора транзакции.
  • EditLog - это файл журнала, в котором перечислены все изменения файловой системы (создание, удаление или изменение файла), выполненное после последнего fsimage.
  • Контрольная точка - это процесс слияния содержимого самого последнего fsimage со всеми изменениями, применяемыми после того, как fsimage объединяется для создания нового fsimage. Контрольная точка запуска автоматически запускается политиками конфигурации или вручную с помощью команд администрирования HDFS.
  • При запуске Namenode он загружает fsimage в память, чтобы быстрее выполнять запросы.

При запуске задания MapReduce для этого набора данных, программа драйвер разделить блоки данных, хранящихся на DataNodes в нескольких «входных расколов» (размер настраивается в XML-файлах). В этом случае, скажем, каждый входной бит составляет 128 МБ, тогда у нас есть 8 входных разрывов, и каждый сплит назначил процесс Mapper.

=> Это правильно.

+0

Большое вам спасибо за ответ –

+0

@basamnath, если это полезно, отметьте ответ как принято – 54l3d

+0

Я пробовал. но он говорит, что у меня недостаточно репутации. –

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