[Документация Yandex Cloud](../../index.md) > [Yandex Data Processing](../index.md) > Концепции > Взаимосвязь ресурсов сервиса

# Взаимосвязь ресурсов сервиса Yandex Data Processing

Сервис Yandex Data Processing позволяет реализовать распределенное хранение и обработку данных с помощью сервисов из экосистемы [Apache Hadoop](http://hadoop.apache.org).

## Ресурсы {#resources}

Основная сущность сервиса — [_кластер_](../../glossary/cluster.md). Кластер объединяет все ресурсы, доступные Hadoop: вычислительные мощности и хранилище.

Каждый кластер состоит из _подкластеров_. Подкластеры объединяют _хосты_, выполняющие идентичные функции:

* Подкластер с хостом-мастером (`masternode`). Например, NameNode для HDFS или ResourceManager для YARN.

  В каждом кластере может быть не больше одного подкластера с хостом-мастером.

* Подкластеры для хранения данных (`Data` или `datanode`). Например, DataNode для HDFS.
* Подкластеры для обработки данных (`Compute` или `computenode`). Например, NodeManager для YARN.

Подкластеры каждого кластера должны находиться в одной [облачной сети](../../vpc/concepts/network.md#network) и в одной [зоне доступности](../../overview/concepts/geo-scope.md).

Хосты в каждом подкластере создаются с вычислительной мощностью, соответствующей указанному _классу хостов_. Ознакомиться со списком доступных классов хостов и их характеристиками можно в разделе [Классы хостов](instance-types.md).


Виртуальные машины, соответствующие хостам кластера, могут размещаться:

* На _стандартных хостах_ Yandex Cloud.

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

* На _выделенных хостах_ Yandex Cloud.

    Это физические серверы для размещения исключительно ваших виртуальных машин. Эти виртуальные машины обеспечивают как работу кластера, так и работу других ваших сервисов, которые поддерживают выделенные хосты. Такие хосты выбираются из _групп выделенных хостов_, указанных при создании кластера.

    При таком варианте размещения обеспечивается физическая изоляция виртуальных машин. Кластер Yandex Data Processing, использующий выделенные хосты, обладает всеми возможностями обычных кластеров.

    Подробнее о выделенных хостах в [документации Yandex Compute Cloud](../../compute/concepts/dedicated-host.md).


Подробнее о сетевой конфигурации и сетевом доступе к кластеру в разделе [Сеть в Yandex Data Processing](network.md).

{% note warning %}

Изменение свойств хостов через интерфейсы Yandex Compute Cloud может привести к его неработоспособности. Чтобы изменить параметры хостов кластера, воспользуйтесь интерфейсами сервиса Yandex Data Processing: консолью управления, CLI, Terraform или API.

{% endnote %}

## Легковесные кластеры {#light-weight-clusters}

Начиная с [версии образа](environment.md) `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](spark-sql.md#resource-management).


## Безопасность {#security}

Так как кластер Yandex Data Processing имеет функцию запуска заданий без непосредственного доступа к кластеру по [SSH](../../glossary/ssh-keygen.md), то для удобства пользователя кластер пишет журнал выполнения заданий в S3-бакет. Запись в бакет происходит под сервисным аккаунтом, указанным во время создания кластера. Более подробно с концепцией можно ознакомиться на странице [Сервисные аккаунты](../../iam/concepts/users/service-accounts.md).

Для кластера Yandex Data Processing рекомендуется использовать хотя бы два отдельных бакета S3:

1. Для исходных данных, где сервисный аккаунт имеет права только на чтение.
1. Для журналов и результатов операций — сервисный аккаунт имеет полный доступ.

Это необходимо для уменьшения рисков непредвиденных модификаций и удаления исходных данных.