what is hadoop apache hadoop tutorial
Цей підручник для початківців Apache Hadoop детально пояснює все про Hadoop великих даних, його особливості, структуру та архітектуру:
де знаходиться ключ безпеки мережі
У попередньому підручнику ми детально обговорили Big Data. Тепер питання полягає в тому, як ми можемо обробляти та обробляти такий великий обсяг даних із надійними та точними результатами.
Насправді є чудове рішення, яке надає Apache та працює на Java, тобто Hadoop Framework .
=> Прочитайте навчальну серію Easy BigData.
Що ви дізнаєтесь:
Що таке Hadoop?
Apache Hadoop - це фреймворк з відкритим кодом для управління всіма типами даних (структурованими, неструктурованими та напівструктурованими).
Як ми всі знаємо, якщо ми хочемо обробляти, зберігати та управляти нашими даними, то СУБД є найкращим рішенням. Але дані повинні мати структурований формат для обробки з RDBMS. Крім того, якщо обсяг даних збільшується, RDBMS не здатний обробляти їх, і нам потрібно регулярно проводити очищення бази даних.
Це може спричинити втрату даних у минулому та не може дати точних та надійних результатів у деяких галузях, таких як прогноз погоди, банківська справа, страхування, продаж тощо. Інша проблема RDBMS полягає в тому, що якщо основний сервер не працює, ми можемо втратити важливі даних і страждають багато.
У цьому посібнику ми побачимо, як можна подолати ці проблеми за допомогою Apache Hadoop.
Hadoop - це розподілена файлова система, яка може зберігати великі обсяги даних (дані у петабайтах та терабайтах). Швидкість обробки даних також дуже швидка і забезпечує надійні результати, оскільки вона має дуже високу систему відмовостійкості.
Hadoop - це платформа програмування з відкритим кодом на основі Java, яка підтримує зберігання та обробку наборів великих даних у розподіленому обчислювальному середовищі.
Hadoop базується на кластерній концепції з використанням товарного обладнання. Це не вимагає складної конфігурації, і ми можемо створити середовище Hadoop за допомогою дешевого, простого та легкого апаратного забезпечення.
Концепція кластеру простими словами - це дані, які зберігаються у форматі реплікації на декількох машинах, так що, коли будь-яка проблема або катастрофа трапляється в одному з місць, де перебувають дані, тоді повинна бути копія цих даних, безпечно доступна в іншому місці .
Hadoop проти RDMBS
Нижче наведено кілька пунктів, які описують переваги Hadoop перед RDBMS.
Особливості | Hadoop | RDBMS |
---|---|---|
Зберігання | Дуже висока місткість сховища. | Не вдається зберегти Bigdata. |
Архітектура | Hadoop базується на HDFS, MapReduce та YARN. | СУБД базується на властивостях ACID. |
Гучність | Може обробляти великий обсяг даних. | СУБД не може обробляти великий обсяг даних. |
Різноманітність / типи даних | Може обробляти структуровані, напівструктуровані та неструктуровані дані, такі як відео, зображення, файли CSV, xml тощо. | Обробляйте лише структуровані дані. |
Швидкість | Швидка обробка великих обсягів даних. | Дуже повільно під час обробки великої кількості даних. |
Пропускна здатність | Висока пропускна здатність. | Низька пропускна здатність. |
Відмовостійкість | Дуже добре | Не здатний відновити втрачені дані, якщо основний сервер не працює. |
Надійний | Дуже надійні та генерують точні історичні та поточні звіти. | Не надійний з точки зору Bigdata. |
Особливості Hadoop
Тепер ми знаємо точне визначення Hadoop. Давайте зробимо крок вперед і ознайомимось із термінологіями, які ми використовуємо в Hadoop, вивчимо його архітектуру та побачимо, як саме це працює на Bigdata.
Фреймворк Hadoop базується на наступних концепціях або модулях:
- Пряжа Hadoop
- Hadoop Common
- Hadoop HDFS ( H adoop D розподіляється F з S ystem)
- Зменшити карту Hadoop
# 1) Пряжа Hadoop: YARN розшифровується як « Y і ДО нічого Р. джерело N егогатор », який використовується для управління кластерною технологією хмари. Він використовується для планування роботи.
# 2) Загальні Hadoop: Це докладні бібліотеки або утиліти, що використовуються для спілкування з іншими функціями Hadoop, такими як YARN, MapReduce та HDFS.
# 3) Hadoop HDFS: Розподілена файлова система використовується в Hadoop для зберігання та обробки великого обсягу даних. Крім того, він використовується для доступу до даних з кластера.
# 4) Зменшення карти Hadoop: MapReduce - це головна особливість Hadoop, яка відповідає за обробку даних у кластері. Він використовується для планування завдань та моніторингу обробки даних.
Тут ми щойно включили визначення цих функцій, але ми побачимо детальний опис усіх цих функцій у наших майбутніх підручниках.
Архітектура Hadoop
Давайте вивчимо архітектуру фреймворку і подивимося, які компоненти в ньому використовуються. Цей фреймворк відповідає архітектурі ведучого-підлеглого в кластері.
Нижче наведено компоненти Hadoop:
- HDFS
- MapReduce
- Пряжа
Це три важливі компоненти архітектури Hadoop. Ми також повинні зрозуміти деякі термінології або концепції Архітектури і подивитися, як вони працюють.
- Вузол імені
- Вузол даних
- Вузол вторинного імені
- Блоки
# 1) Вузол імені
Ім'я Вузол є головним Вузлом у HDFS. Він містить такі метадані HDFS, як інформація про файли, структура каталогу, інформація про блоки та вся інформація про Вузол Даних тощо. Ім'я Вузол відповідає лише за доступ даних та файлів від клієнта. Він відстежує всі транзакції або зміни, внесені у файли.
В основному це працює над двома файлами, тобто FsImage і EditLogs . Ім'я Вузол має JobTracker, який містить усі деталі Вузла Даних, наприклад, який Вузол Даних має яке завдання, скільки блоків є в кожному Вузлі Даних, серцебиття кожного Вузла Даних, деталі планування роботи в кластері тощо.
Коротше кажучи, можна сказати, що JobTracker містить TaskTracker кожного вузла даних.
# 2) Вузол даних
Вузол даних - підлеглий вузол у HDFS. Вузол даних відповідає за фактичне зберігання та обробку даних. Його головне завдання - розділити роботу на три блоки та зберегти її в різних Вузлах даних. Після цього починається обробка даних.
Крім того, він має TaskTracker, який має повну інформацію про кожен блок і який блок відповідає за яке завдання, які блоки виконують завдання тощо, і після обробки даних він відправляє інформацію до Ім'я Вузол. Кожного разу, коли вузол даних запускається, він знову надсилає всю інформацію до вузла імен.
# 3) Вузол вторинного імені
Вузол вторинного імені використовується у випадку відмовостійкості. Існує два сценарії, коли вузол імені не працює, а повна структура Hadoop вийде з ладу, оскільки вузол імені є єдиною точкою відмови.
(i) Якщо Name Node перезапуститься через будь-яку проблему, ніж потрібно було з’явитись знову, оскільки він має величезний обсяг даних, то для відновлення потрібно час.
(ii) У разі збою Name Node всі дані HDFS втратять і не зможуть відновити їх знову, оскільки Name Node є єдиною точкою відмови. Таким чином, для подолання цих проблем існує Вторинний Ім'я Вузол. Він також містить зображення простору імен та журнали редагування такі ж, як і вузол імен.
Через певний період він скопіює зображення простору імен і оновить журнали редагування з вузла імен. Таким чином, у випадку відмови Іменного Вузла, Вторинний Іменний Вузол потрапляє у зображення і поводиться як основний Іменний Вузол. Завдяки цьому процесу він запобігає повний збій.
# 4) Блоки
Блоки - це найменша одиниця в HDFS. Hadoop може обробляти величезну кількість файлів, оскільки ділить його на невеликі блоки. Можна сказати, що блоки - це не що інше, як дані величезного файлу. Розмір кожного блоку - 128 МБ. Ці блоки зберігаються у вузлах даних та обробляють дані.
Тепер давайте вивчимо архітектуру Hadoop, щоб зрозуміти її роботу.
Розподілена файлова система Hadoop (HDFS) - це файлова система, яка використовується в кластері Hadoop. В основному HDFS використовується для зберігання даних Hadoop у кластері. HDFS, як правило, працює над послідовною обробкою даних. Як ми вже знаємо, він заснований на архітектурі Master-Slave.
Усі метадані кластера зберігаються на Вузлі імен у JobTracker, а фактичні дані зберігаються у Вузлі даних HDFS у TaskTracker.
MapReduce відповідає за обробку даних. Щоразу, коли будь-який файл надходить у кластер для обробки, перший вузол даних ділить його на блоки, і кожен блок містить 64 МБ даних, і він може зберігати 128 МБ. Потім кожен блок буде реплікуватися двічі і зберігатиметься в різних Вузлах даних в будь-якому місці кластера.
Вся ця інформація буде надіслана на вузол імен, а вузол імен буде зберігати цю інформацію у вигляді метаданих. Тоді фактична обробка даних запустить вузол даних і буде відправляти серцебиття до вузла імен кожні три секунди, щоб вузол імені мав інформацію, над якою працює цей вузол даних.
Якщо комусь із Вузла даних не вдається надіслати серцебиття, Ім'я Вузол знову створює репліку цього блоку на іншому Вузлі даних і починає обробку.
Вся ця інформація або знімки зберігатимуться у FsImage, і якщо буде виконана будь-яка транзакція, тоді редагування журналу об’єднає нову інформацію та завжди зберігатиме нову копію журналів.
Буде виконано блок, який першим закінчує завдання, і Вузол Даних надсилає інформацію до Вузла Імені, і Вузол Імені виконує дії відповідно.
У цьому процесі YARN підтримуватиме та надаватиме необхідні ресурси системі, щоб це не впливало на обробку даних та швидкість. Після обробки даних результати будуть збережені у HDFS для подальшого аналізу.
Висновок
У цьому посібнику ми дізналися, що таке Hadoop, відмінності між RDBMS та Hadoop, переваги, компоненти та архітектура Hadoop.
Цей фреймворк відповідає за обробку великих даних та їх аналіз. Ми побачили, як MapReduce, YARN та HDFS працюють у кластері.
Примітка: Нижче наведено деталі конфігурації вузла імені та вузла даних. Вторинний вузол імені матиме таку ж конфігурацію, що і вузол імені.
Конфігурація вузла імені:
Процесори: 2 чотирьохядерних процесора, що працюють на частоті 2 ГГц
Оперативна пам'ять: 128 ГБ
Диск: 6 x 1 ТБ SATA
Мережа: 10 гігабітний Ethernet
Конфігурація вузла даних:
Процесори: 2 чотирьохядерних процесора, що працюють на частоті 2 ГГц
Оперативна пам'ять: 64 ГБ
Диск: 12-24 x 1 ТБ SATA
Мережа: 10 гігабітний Ethernet
=> Погляньте на посібник для початківців великих даних тут.
Рекомендована література
- Підручник з великих даних для початківців | Що таке великі дані?
- 20+ підручників MongoDB для початківців: Безкоштовний курс MongoDB
- Як налаштувати платформу тестування Node.js: Підручник з Node.js
- Підручник з Data Mart - типи, приклади та реалізація Data Mart
- Поглиблені підручники Eclipse для початківців
- Підручник з Python для початківців (практичне БЕЗКОШТОВНЕ навчання з Python)
- Data Driven Framework у Selenium WebDriver з використанням Apache POI
- Підручник LoadRunner для початківців (безкоштовний 8-денний поглиблений курс)