Взаимосвязь ресурсов сервиса Yandex Data Processing
Сервис Yandex Data Processing позволяет реализовать распределенное хранение и обработку данных с помощью сервисов из экосистемы Apache Hadoop
Ресурсы
Основная сущность сервиса — кластер. Кластер объединяет все ресурсы, доступные Hadoop: вычислительные мощности и хранилище.
Каждый кластер состоит из подкластеров. Подкластеры объединяют хосты, выполняющие идентичные функции:
-
Подкластер с хостом-мастером (
masternode
). Например, NameNode для HDFS или ResourceManager для YARN.В каждом кластере может быть не больше одного подкластера с хостом-мастером.
-
Подкластеры для хранения данных (
Data
илиdatanode
). Например, DataNode для HDFS. -
Подкластеры для обработки данных (
Compute
илиcomputenode
). Например, NodeManager для YARN.
Подкластеры каждого кластера должны находиться в одной облачной сети и в одной зоне доступности.
Важно
Зона ru-central1-c
выводится из эксплуатации. Если ваш кластер находится в этой зоне, создайте новый кластер и перенесите в него рабочую нагрузку. Узнайте, как выполнить миграцию легковесных кластеров и кластеров с файловой системой HDFS.
Хосты в каждом подкластере создаются с вычислительной мощностью, соответствующей указанному классу хостов. Список доступных классов хостов и их характеристики см. в разделе Классы хостов.
Виртуальные машины, соответствующие хостам кластера, могут размещаться:
-
На стандартных хостах Yandex Cloud.
Это физические серверы для размещения виртуальных машин кластера. Такие хосты выбираются случайным образом из пула доступных хостов, удовлетворяющих выбранной конфигурации подкластеров.
-
На выделенных хостах Yandex Cloud.
Это физические серверы для размещения исключительно ваших виртуальных машин. Эти виртуальные машины обеспечивают как работу кластера, так и работу других ваших сервисов, которые поддерживают выделенные хосты. Такие хосты выбираются из групп выделенных хостов, указанных при создании кластера.
При таком варианте размещения обеспечивается физическая изоляция виртуальных машин. Кластер Yandex Data Processing, использующий выделенные хосты, обладает всеми возможностями обычных кластеров.
Подробнее о выделенных хостах см. в документации Yandex Compute Cloud.
О сетевой конфигурации и сетевом доступе к кластеру см. раздел Сеть в Yandex Data Processing.
Важно
Изменение свойств хостов через интерфейсы Yandex Compute Cloud может привести к его неработоспособности. Чтобы изменить параметры хостов кластера, воспользуйтесь интерфейсами сервиса Yandex Data Processing: консолью управления, CLI, Terraform или API.
Легковесные кластеры
Начиная с версии образа 2.0.39
доступна легковесная (LightWeight) конфигурация кластера — без HDFS и подкластеров для хранения данных. Такие кластеры могут включать в себя, например, только YARN и SPARK. Они создаются быстрее и эффективней используют вычислительные ресурсы хостов. Легковесные кластеры рекомендуются для запуска единичных заданий для обработки данных в Spark или PySpark.
Преимущества легковесных кластеров:
-
Spark Driver запускается на подкластере с хостами-мастерами. Это позволяет выдавать разные ресурсы для подкластера с хостами-мастерами, где будет запущен Spark Driver, и подкластеров для обработки данных, где будут запущены Spark Executors.
-
В обычных кластерах на каждом подкластере для обработки данных запускается как минимум по одному экземпляру Spark Driver и Spark Executor. В легковесных кластерах Spark Driver может использовать все свободные ресурсы подкластера с хостами-мастерами, а Spark Executors — все свободные ресурсы подкластеров для обработки данных. Это повышает эффективность работы хостов.
Требования для использования легковесных кластеров:
- Не выбран компонент HDFS.
- В кластере не используются подкластеры для хранения данных.
- Кластер содержит один или несколько подкластеров для обработки данных.
- В настройках кластера указан бакет в Yandex Object Storage.
Подробнее о распределении ресурсов см. в разделе Задания Spark.
Безопасность
Так как кластер Yandex Data Processing имеет функцию запуска заданий без непосредственного доступа к кластеру по SSH, то для удобства пользователя кластер пишет журнал выполнения заданий в S3-бакет. Запись в бакет происходит под сервисным аккаунтом, указанным во время создания кластера. Более подробно с концепцией можно ознакомиться на странице Сервисные аккаунты.
Для кластера Yandex Data Processing рекомендуется использовать хотя бы два отдельных бакета S3:
- Для исходных данных, где сервисный аккаунт имеет права только на чтение.
- Для журналов и результатов операций — сервисный аккаунт имеет полный доступ.
Это необходимо для уменьшения рисков непредвиденных модификаций и удаления исходных данных.