Создавать кластеры Hadoop и Spark вручную — непростое и небыстрое занятие. Нужно настроить виртуальные машины (ВМ), развернуть сервисы, изменить множество конфигурационных файлов…Сервис Yandex Data Proc автоматически создаст кластеры, настроит сеть, установит ПО и обновит его, когда выйдет новая версия. В сервисе есть интерфейсы запуска заданий и инструменты мониторинга. Data Proc интегрируется с другими сервисами Yandex.Cloud и автоматически масштабирует ресурсы.
Компоненты Data Proc
В развёрнутый кластер, помимо самого Hadoop, будут включены следующие компоненты.Tez — фреймворк для обработки больших данных, содержащий ряд улучшений технологии MapReduce.Spark — фреймворк для распределённой потоковой обработки данных.Hive — платформа для хранения больших данных в распределённом хранилище и для управления ими.ZooKeeper — служба, координирующая работу приложений. Она хранит информацию о настройках системы, обеспечивает синхронизацию распределённого выполнения групповых задач, выявляет конфликтующие задачи и нерациональное использование ресурсов.HBase — распределённая NoSQL база данных (БД), основанная на модели Google BigTable и использующая HDFS. Её основная задача — хранить очень большие таблицы (миллиарды строк и миллионы столбцов) на узлах кластера.Sqoop — инструмент для передачи данных между Hadoop и реляционными БД. С его помощью можно импортировать данные из реляционных СУБД в Hadoop, преобразовать их с использованием MapReduce, а затем экспортировать обратно.Oozie — инструмент для управления рабочим процессом и координации заданий MapReduce. Может объединить несколько задач в единое логическое задание.Flume — распределённая служба, которая собирает, сортирует и перемещает большие объёмы данных журнала событий. Она может обрабатывать потоковые данные, позволяя создавать аналитические приложения для всей экосистемы Hadoop.Livy — служба, которая через REST-интерфейс обеспечивает взаимодействие с кластером Spark, включая отправку заданий или частей кода Spark, а также синхронное или асинхронное получение результатов.Zeppelin — многопользовательский инструмент для анализа и визуализации данных в браузере, а также совместной работы над данными с использованием Spark. Позволяет создавать запросы к данным в Hadoop на SQL, Scala или Python и отображать результаты в виде таблиц, графиков и диаграмм.Сервис Yandex Data Proc интегрирован с Yandex DataSphere — облачной средой для разработки моделей машинного обучения. С её помощью можно пройти весь цикл создания моделей: от эксперимента и разработки до запуска готовой версии на вычислительных мощностях Yandex.Cloud. DataSphere использует бессерверные вычисления, но если вам предстоит решать ресурсоёмкие задачи, то расчёты можно запустить и на вашем кластере Data Proc.
Кластер Data Proc
Основная сущность сервиса Data Proc — кластер. Он объединяет все ресурсы, доступные Hadoop: вычислительные мощности и хранилище.Каждый кластер состоит из подкластеров. Подкластеры объединяют хосты, выполняющие идентичные функции:
- подкластер с управляющими хостами (например, NameNode для HDFS или ResourceManager для YARN);
- подкластер для хранения данных (например, DataNode для HDFS);
- подкластеры для обработки данных (например, NodeManager для YARN).

Подкластеры каждого кластера должны находиться в одной облачной сети и одной зоне доступности.
Хранение данных
Чтобы вы не переплачивали за хранение большого объёма данных на вычислительных узлах, в сервисе реализована связь с объектным хранилищем. В него помещается основной объём данных, а на вычислительных узлах хранятся только горячие данные, к которым нужен быстрый доступ.

Вы можете запускать задания по SSH — без непосредственного доступа к кластеру Data Proc. Поэтому, чтобы вам было удобно, журнал выполнения заданий находится в отдельном бакете в объектном хранилище. Записи в журнал делаются от имени сервисного аккаунта, указанного при создании кластера.Для кластера Data Proc рекомендуется использовать хотя бы два бакета в объектном хранилище. Один, где сервисный аккаунт имеет права только на чтение, — для исходных данных. Второй, с полным доступом сервисного аккаунта — для журналов и результатов операций. Два бакета помогут уменьшить риски непредвиденных изменений и удаления исходных данных.
Сеть
Все подкластеры должны находиться в одной сети, а все хосты каждого подкластера — в определённой подсети этой сети.У хостов кластера нет публичного IP-адреса. Чтобы подключиться к кластеру Data Proc, используйте ВМ, расположенную в той же облачной сети, что и кластер. То есть вы создадите ВМ, к которой подключитесь по SSH, а с этой машины, в свою очередь, подключитесь к кластеру.В Yandex.Cloud хосты без публичных IP-адресов не имеют доступа к ресурсам за пределами виртуальной сети. Поэтому для корректной работы кластера включите NAT в интернет для нужной подсети: зайдите в раздел Virtual Private Cloud в каталоге с кластером Data Proc, выберите подсеть и включите для неё эту опцию.
Свежие комментарии