Въведение в HDFS архитектурата

HDFS означава Hadoop Distributed File System, която сама казва, че файловете са разделени на блокове и се съхраняват на няколко машини.

Характеристики на HDFS

Характеристиките на HDFS са следните:

1. Наличност

В HDFS данните се репликират редовно сред възлите на данни, като създават реплика на блокове на другия възел на данни. Така че в случай на хардуерна грешка или грешка, потребителят може да получи своите данни от друг възел на данни, където данните са репликирани.

2. Мащабируемост

В HDFS данните се съхраняват на множество възли за данни под формата на блокове. HDFS позволява на потребителите да увеличават размера на блоковете, когато е необходимо. Има два типа механизъм за мащабиране, използван при HDFS - хоризонтална мащабируемост и вертикална мащабируемост.

3. Репликация

Това е уникалните характеристики на HDFS, които позволяват на потребителя да получи лесен достъп до своите данни в случай на хардуерна повреда.

HDFS Архитектура

HDFS следва архитектура master-slave, която има следните компоненти:

1. NameNode:

NameNode е известен също като главен възел, защото обработва всички блокове, които присъстват в DataNodes.

NameNode изпълнява следните задачи:

  • Управление на всички блокове DataNode
  • Дава достъп до файл на потребителя
  • Запазва всички записи на блокове, присъстващи в DataNode
  • NameNode записва цялата информация на файлове, например, ако името на файла е преименувано или съдържанието е променено или изтрито NameNode незабавно записва тази промяна в EditLogs
  • Той отнема записите на всички блокове от възлите за данни, за да гарантира, че целият блок е жив в DataNode.
  • В случай на грешка, ако се случи някаква хардуерна повреда, той незабавно избира друг DataNode, за да създаде репликация и да управлява комуникацията с всички DataNodes

Видове файлове в NameNode

NameNode съдържа два типа файлове FsImage и EditLogs

аз. FsImage: Нарича се още и изображение на файл, защото съдържа цялата информация във файлова система с пространства от имена. Той също така съдържа всички директории и файловете на файловата система по сериализиран начин.

II. EditLogs: Текущите модификации, направени във файловете на файловата система, се съхраняват в EditLogs.

2. Вторично имеNode

Вторичният NameNode се нарича също като възел на контролна точка, защото изпълнява редовни контролни точки. Той действа като помощник за основния NameNode.

Вторичният NameNode изпълнява следните задачи

  • Вторичната NameNode комбинира FsImage и EditLogs от NameNode.
  • Той чете цялата информация на файловата система от паметта за съхранение на NameNode и записва тази информация на твърд диск на файловата система.
  • Той изтегля FsImage и EditLogs от NameNode през редовни интервали и чете информацията за модификации, направена от EditLogs файловете, и записва модификацията към FsImage. Този процес създава нов FsImage, който след това се изпраща обратно към NameNode. Всеки път, когато NameNode стартира, той ще използва тези FsImage.

3. DataNode

DataNode е известен също като подчинен възел, защото обработва всеки възел, който съдържа данни на подчинена машина. DataNode съхранява данни във формат ext3 или ext4.

Възелът за данни изпълнява следните задачи:

  • Всички данни се съхраняват в DataNodes
  • Той изпълнява всички операции с файлове според заявката на потребителите, например четене на съдържание на файлове, записване на нови данни във файлове,
  • Той също така следва всички инструкции, които са дадени от NameNode, например, преименуване на файла, изтриване на някои блокове в DataNode, създаване на блокове и т.н.

4. Възел за контролна точка:

Възел на контролната точка е възел, който създава контролна точка от файлове на редовни интервали. Възел за контролна точка в HDFS, изтеглете FsImage и EditLogs от NameNode и ги обединете, за да създадете ново изображение и да изпратите това ново изображение към NameNode. Последната контролна точка се съхранява в директория със същата структура като директорията на Namenode. Поради това изображението с отметка винаги е достъпно, ако има нужда.

5. Резервен възел:

Функцията на резервен възел е подобна на възел на Checkpoint за изпълнение на задача за проверка. В Hadoop възелът Backup съхранява най-новото и актуализирано копие на пространството от имена на файловата система. Не е необходимо да изтегляте файлове FsImage и editsLogs от активния NameNode, за да създадете контролна точка в резервния възел, тъй като тя е синхронизирана със състоянието на активния NameNode. Функцията на възела за архивиране е по-прецизна, защото запишете пространството от имена в локалния файл FsImage и нулирайте editLogs.

6. Блокове:

Всички данни на потребителите се съхраняват във файлове на HDFS, които след това се разделят на малки сегменти. Тези сегменти се съхраняват в DataNodes. Сегментите, които присъстват в DataNodes, се наричат ​​блок. Размерът на блоковете по подразбиране е 128 MB. Размерът на блока може да бъде променен според изискванията на потребителите чрез конфигуриране на HDFS.

Ако размерът на данните е по-малък от размера на блока, тогава размерът на блока е равен на размера на данните. Например, ако данните са с размер 135 MB, тогава ще се създадат 2 блока. Единият ще бъде с размер по подразбиране 128 MB, а друг ще бъде само от 7MB, а не 128 MB. Поради това се спестява много пространство и време на диска.

Управление на репликациите в HDFS архитектура:

HDFS е устойчив на повреди. Толерантността на отказите е сила на системата в случай на повреди и как тя реагира на грешките и трудните условия. Толерантността на откази работи въз основа на процеса на създаване на реплики. Копия от потребителски данни се запазват на машини в DHFS клъстер. Следователно, ако има някаква повреда или повреда в системата, копие на тези данни може да бъде достъпно от другите машини на HDFS клъстера. Всеки блок в HDFS архитектурата има 3 реплики, които се съхраняват в различни DataNodes. NameNode поддържа копията, налични в DataNodes. NameNode добавя или изтрива копия въз основа на критериите на под репликирани или превъзпроизведени блокове.

Операция за запис

За да запише файлове в HDFS, клиентът ще комуникира за метаданни към NameNode. Nameode отговаря с няколко блока, тяхното местоположение, копия и т.н. Клиентът разделя файловете на множество блокове въз основа на информацията за nameode. След това започва да ги изпраща до DataNode. Първо, клиентът изпраща блок A до DataNode 1 с друга информация за DataNodes. Когато DataNode 1 получи блока на клиента A, DataNode 1 копира един и същ блок в същия стелаж в DataNode 2. Тъй като и двете DataNode са в една и съща стойка, прехвърлянето на блока става чрез шкаф за превключване. DataNode 2 сега копира един и същ блок в DataNode 3 Тъй като и двете DataNodes са в различни стелажи, прехвърлянето на блока се извършва чрез превключвател за изход. След като DataNode получи блоковете на клиента, той ще изпрати потвърждението на NameMode. Всеки блок на файла, се повтаря един и същ процес.

Прочетете операция

За операция на четене, първият клиент съобщава за метаданни на NameNode. Клиент излиза от NameNode с името на файла и местоположението. Nameode отговаря с номер на блок, местоположение, копия и друга информация. След това клиентът комуникира с DataNodes. Въз основа на информацията, получена от NameNode, клиентът започва да чете данни паралелно от DataNodes. Когато целият блок на файла се получи от клиента или приложението, той комбинира тези блокове в оригинален файл.

Заключение - HDFS архитектура

С помощта на NameNode и DataNode надеждно съхранява много големи файлове на машини в голям клъстер. Поради толерантност на повредите е полезно да получите достъп до данни при повреда на софтуер или хардуер. Ето как работи HDFS архитектурата.

Препоръчителни статии

Това е ръководство за HDFS архитектура. Тук обсъдихме основните концепции с различни видове Архитектура, функции и управление на репликациите на HDFS Architecture. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Какво е моделиране на данни?
  2. Какво е визуализация на данни
  3. Какво е склад за данни?
  4. Какво е SQL Developer?

Категория: