Що таке Hadoop?
Apache Hadoop - це програмне забезпечення з відкритим кодом, що використовується для розробки додатків для обробки даних, які виконуються в розподіленому обчислювальному середовищі.
Програми, побудовані за допомогою HADOOP, працюють на великих наборах даних, розподілених між кластерами товарних комп'ютерів. Товарні комп’ютери дешеві та широко доступні. Вони в основному корисні для досягнення більшої обчислювальної потужності за низьких витрат.
Подібно до даних, що знаходяться в локальній файловій системі персонального комп'ютера, у Hadoop дані знаходяться у розподіленій файловій системі, яка називається розподіленою файловою системою Hadoop . Модель обробки базується на концепції "Локальність даних", в якій обчислювальна логіка надсилається вузлам кластера (серверу), що містять дані. Ця обчислювальна логіка - не що інше, як компільована версія програми, написана мовою високого рівня, такою як Java. Така програма обробляє дані, що зберігаються в Hadoop HDFS.
Чи ти знаєш? Комп’ютерний кластер складається з безлічі безлічі обробних блоків (диск зберігання + процесор), які з’єднані між собою і виступають єдиною системою.
У цьому підручнику ви дізнаєтесь,
- Hadoop EcoSystem та компоненти
- Архітектура Hadoop
- Особливості "Hadoop"
- Топологія мережі в Hadoop
Hadoop EcoSystem та компоненти
Нижче на схемі показано різні компоненти екосистеми Hadoop-
Apache Hadoop складається з двох підпроектів -
- Hadoop MapReduce: MapReduce - це обчислювальна модель та програмна база для написання програм, які запускаються на Hadoop. Ці програми MapReduce здатні паралельно обробляти величезні дані на великих кластерах обчислювальних вузлів.
- HDFS ( розподілена файлова система Hadoop ): HDFS опікується частиною зберігання програм Hadoop. Програми MapReduce споживають дані з HDFS. HDFS створює кілька копій блоків даних і розподіляє їх по обчислювальних вузлах у кластері. Цей розподіл забезпечує надійні та надзвичайно швидкі обчислення.
Хоча Hadoop найбільш відомий завдяки MapReduce та його розподіленій файловій системі - HDFS, цей термін також використовується для сімейства пов'язаних проектів, які підпадають під парасольку розподілених обчислень та широкомасштабної обробки даних. Інші проекти, пов'язані з Hadoop в Apache, включають Hive, HBase, Mahout, Sqoop, Flume та ZooKeeper.
Архітектура Hadoop
Hadoop має архітектуру Master-Slave для зберігання даних та розподіленої обробки даних за допомогою методів MapReduce та HDFS.
NameNode:
NameNode представляє всі файли та каталоги, що використовуються у просторі імен
Вузол даних:
DataNode допомагає управляти станом вузла HDFS і дозволяє взаємодіяти з блоками
MasterNode:
Головний вузол дозволяє проводити паралельну обробку даних за допомогою Hadoop MapReduce.
Ведений вузол:
Ведені вузли - це додаткові машини кластера Hadoop, які дозволяють зберігати дані для проведення складних обчислень. Більше того, весь підлеглий вузол постачається із засобом відстеження завдань та вузлом даних. Це дозволяє синхронізувати процеси з NameNode та Job Tracker відповідно.
У Hadoop головну або підлеглу систему можна налаштувати в хмарі або локально
Особливості "Hadoop"
• Підходить для аналізу великих даних
Оскільки великі дані, як правило, поширюються та неструктуруються в природі, кластери HADOOP найкраще підходять для аналізу великих даних. Оскільки логіка обробки (а не фактичні дані) надходить до обчислювальних вузлів, витрачається менше пропускної здатності мережі. Ця концепція називається концепцією локалізації даних, яка сприяє підвищенню ефективності додатків на основі Hadoop.
• Масштабованість
Кластери HADOOP можна легко масштабувати до будь-якої міри, додаючи додаткові вузли кластера, що дозволяє збільшити великі дані. Крім того, масштабування не вимагає змін логіки програми.
• Відмовостійкість
Екосистема HADOOP має можливість реплікації вхідних даних на інші вузли кластера. Таким чином, у разі виходу з ладу вузла кластера обробка даних все ще може тривати, використовуючи дані, що зберігаються на іншому вузлі кластера.
Топологія мережі в Hadoop
Топологія (розташування) мережі впливає на продуктивність кластера Hadoop, коли розмір кластера Hadoop зростає. На додаток до продуктивності, потрібно також подбати про високу доступність та усунення несправностей. Для досягнення цього Hadoop формування кластерів використовує топологію мережі.
Зазвичай пропускна здатність мережі є важливим фактором, який слід враховувати при формуванні будь-якої мережі. Однак, оскільки вимірювання пропускної здатності може бути складним, у Hadoop мережа представлена у вигляді дерева, а відстань між вузлами цього дерева (кількість стрибків) вважається важливим фактором у формуванні кластера Hadoop. Тут відстань між двома вузлами дорівнює сумі їх відстані до найближчого спільного предка.
Кластер Hadoop складається з центру обробки даних, стійки та вузла, який фактично виконує завдання. Тут ЦОД складається із стійок, а стійка складається з вузлів. Пропускна здатність мережі, доступна процесам, варіюється залежно від місця розташування процесів. Тобто доступна пропускна здатність стає меншою, коли ми відходимо від-
- Процеси на одному вузлі
- Різні вузли на одній стійці
- Вузли на різних стійках одного центру обробки даних
- Вузли в різних центрах обробки даних