Основные принципы Hadoop | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
iOS Developer. Professional Kotlin Backend Developer Flutter Mobile Developer Symfony Framework C++ Developer. Basic Unity Game Developer. Basic Java Developer. Professional
-35%
Highload Architect Unity Game Developer. Professional React.js Developer Специализация Java-разработчик
-25%
Алгоритмы и структуры данных
-16%
Scala-разработчик C# Developer. Professional
-23%
Разработчик голосовых ассистентов и чат-ботов Team Lead Архитектура и шаблоны проектирования NoSQL Web-разработчик на Python Golang Developer. Professional PostgreSQL Vue.js разработчик Супер-практикум по использованию и настройке GIT Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Программист С HTML/CSS
Инфраструктура
Инфраструктурная платформа на основе Kubernetes Microservice Architecture Базы данных Highload Architect Reverse-Engineering. Professional
-8%
Network engineer. Basic Administrator Linux.Basic MongoDB Infrastructure as a code MS SQL Server Developer Cloud Solution Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Разработчик IoT Экcпресс-курс «ELK» Супер-интенсив "Tarantool" Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker»
Корпоративные курсы
Безопасность веб-приложений Экосистема Hadoop, Spark, Hive Пентест. Практика тестирования на проникновение Node.js Developer Java QA Engineer. Basic
-18%
Reverse-Engineering. Professional
-8%
DevOps практики и инструменты NoSQL Reverse-Engineering. Basic Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Game QA Engineer Супер - интенсив по Kubernetes Дизайн сетей ЦОД Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Основные принципы Hadoop

Мы уже вкратце рассказывали об архитектуре Hadoop, и о том, что основными компонентами этой экосистемы являются HDFS и MapReduce. В этой статье поговорим о принципах работы Hadoop.

Принцип № 1: горизонтальное масштабирование

Давайте представим, что в кластере возникли неполадки, и нам не хватает ресурсов имеющихся серверов. Существуют 2 модели поведения: 1. Выполнить апгрейд уже имеющегося железа либо заменить его — это всем известное вертикальное масштабирование. 2. Дополнить имеющийся комплект серверов более новыми устройствами — это, соответственно, горизонтальное масштабирование.

_______________________________1-1801-dc0816.png

Экосистема Hadoop заточена под вариант номер 2. Почему? Ответ прост — в случае горизонтального масштабирования ресурсы кластера почти не ограничены, а расширять его можно, по сути, бесконечно.

Принцип № 2: код отправляется к данным, а не наоборот

Существует подход, когда для хранения и обработки данных выделяются сервера. Во время работы с большими объёмами данных приходится их передавать между этими серверами. Решение является непростым, энергозатратным, да и, чего уж там скрывать, дорогим.

picture_1_1024x576_1-1801-a7685f.png

В случае с Hadoop все происходит более эффективно: если надо выполнить обработку данных, мы не осуществляем их физический перенос на обрабатывающий сервер, а лишь копируем нужную часть кода, перенося этот код к данным. Итог — система становится «легче» и функционирует быстрее.

2.2_1024x576_1-1801-fc43b5.png

Принцип № 3: отказоустойчивость

Экосистема Hadoop учитывает вероятность отказа железа и нивелирует эту вероятность следующими механизмами: 1. Репликацией данных. Речь идёт о восстановлении утерянной части данных. 2. Перезапуском тасков. Это механизм, запоминающий таски, а также регулярно проверяющий и обновляющий их.

Таким образом, исходя из вышеописанных трёх принципов, можно сформулировать одно из основных достоинств экосистемы Hadoop: кластер машин может состоять из самых обыкновенных серверов, к которым не предъявляются чрезмерные запросы в плане отказоустойчивости.

Принцип № 4: инкапсуляция сложности реализации

Если в двух словах, то это значит, что пользователь лишь продумывает, как именно он желает обрабатывать данные, больше фокусируясь при этом на бизнес-логике процесса, а не на программной части. Профит такого подхода очевиден.

ben_stiller_ben_stiller_bryunet_lico_vzglyad_zadumchivyy_33972_1920x1200_1024x640_2-1801-0dd46f.jpg

Кто изучает Hadoop?

В основном, знание экосистемы пригодится специалистам, работающим с BigData. Это и аналитики, и разработчики. Если говорить о конкретных сферах, то это, как правило, банки, IT-компании и крупные сервисы с большой клиентской базой.

Источник

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться