[Документация Yandex Cloud](../../index.md) > [Yandex Data Processing](../index.md) > [Пошаговые инструкции](index.md) > Кластеры Yandex Data Processing > Изменение кластера

# Изменение кластера Yandex Data Processing

После создания кластера вы можете изменить его основные и дополнительные настройки.

Вы можете выключить передачу логов кластера в сервис Yandex Cloud Logging. Подробнее в разделе [Работа с логами](logging.md#disable-logs).

Кластер Yandex Data Processing также можно переместить в другую зону доступности. Процесс зависит от типа кластера:

* [Миграция легковесного кластера в другую зону доступности](migration-to-an-availability-zone.md).
* [Миграция кластера с файловой системой HDFS в другую зону доступности](../tutorials/hdfs-cluster-migration.md).

{% list tabs group=instructions %}

- Консоль управления {#console}

    Чтобы изменить настройки кластера Yandex Data Processing:

    1. Перейдите на [страницу каталога](https://console.yandex.cloud).
    1. Перейдите в сервис **Yandex Data Processing**.
    1. Выберите кластер и нажмите кнопку **Редактировать** на панели сверху.
    1. Измените имя и описание кластера в полях **Имя кластера** и **Описание**.
    1. Добавьте или удалите [метки](../../resource-manager/concepts/labels.md) кластера в поле **Метки**.
    1. Измените настройки кластера:

        * **Сервисный аккаунт** — [сервисный аккаунт](../../iam/concepts/users/service-accounts.md) кластера Yandex Data Processing.

            Выберите существующий сервисный аккаунт или [создайте новый](../../iam/operations/sa/create.md).

            Для изменения сервисного аккаунта в кластере Yandex Data Processing [назначьте](../../iam/operations/roles/grant.md) вашему аккаунту в Yandex Cloud роль [iam.serviceAccounts.user](../../iam/security/index.md#iam-serviceAccounts-user) или выше.

            {% note warning %}
            
            Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.
            
            {% endnote %}

        * **Свойства** — [свойства компонентов](../concepts/settings-list.md) кластера.

            Добавьте, измените или удалите нужные свойства.

            {% note tip %}

            Если нужно, чтобы свойство было помещено в файл конфигурации, который [относится к определенному компоненту](../concepts/settings-list.md#available-properties), укажите [префикс](../concepts/settings-list.md) для ключа.

            {% endnote %}

        * **Формат указания бакета** — формат, в котором будет указано имя [бакета](../../storage/concepts/bucket.md): **Список** или **ID**.

        * **Имя бакета** — имя бакета, который будет использоваться кластером.

            В зависимости от выбранного формата либо выберите из списка бакет с нужным именем, либо укажите имя бакета вручную. Имя бакета можно запросить со [списком бакетов в каталоге](../../storage/operations/buckets/get-info.md#get-information).

        * **Группы безопасности** — [группы безопасности](../concepts/network.md#security-groups), которые будут использоваться кластером.

            Выберите одну или несколько групп безопасности. Если нужной группы безопасности нет в списке — [создайте ее](../../vpc/operations/security-group-create.md).

            {% note warning %}

            Некорректные настройки групп безопасности могут препятствовать работе кластера Yandex Data Processing. Подробнее о настройке групп безопасности в разделе [Настройка групп безопасности](security-groups.md).

            {% endnote %}

        * **UI Proxy** — опция, управляющая доступом к [веб-интерфейсам компонентов](../concepts/interfaces.md) через [UI Proxy](connect-interfaces.md#ui-proxy).

            {% note warning %}
            
            Для корректной работы UI Proxy необходимо обеспечить сетевое соединение между вашим устройством, мастер-узлом кластера и серверами UI Proxy.
            
            Убедитесь, что ваше устройство и мастер-узел кластера имеют разрешенный исходящий доступ к IP-адресам сервиса:
            * `158.160.167.170`
            * `2a0d:d6c1:0:1c::23e`
            
            При необходимости [настройте группы безопасности](security-groups.md).
            
            {% endnote %}

        * **Лог-группа** — [лог-группа](../../logging/concepts/log-group.md) Yandex Cloud Logging, в которую кластер будет отправлять логи.

            Выберите лог-группу по умолчанию или другую существующую лог-группу. Если нужной лог-группы нет в списке — [создайте ее](../../logging/operations/create-group.md).

            Чтобы кластер мог отправлять логи, [назначьте](../../iam/operations/roles/grant.md) сервисному аккаунту кластера роль `logging.writer`. Подробнее в [документации Yandex Cloud Logging](../../logging/security/index.md).

    1. В дополнительных настройках кластера выберите нужное значение опции **Защита от удаления**.

        Эта опция управляет защитой кластера от непреднамеренного удаления пользователем.

        Включенная защита не помешает подключиться к кластеру вручную и удалить данные.

    1. Нажмите кнопку **Сохранить изменения**.

- CLI {#cli}

    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../cli/quickstart.md#install).

    По умолчанию используется каталог, указанный при [создании](../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

    Чтобы изменить настройки кластера Yandex Data Processing:

    1. Посмотрите описание команды CLI для изменения кластера:

        ```bash
        yc dataproc cluster update --help
        ```

    1. Чтобы изменить сервисный аккаунт кластера, передайте имя или идентификатор нужного аккаунта в параметре `--service-account-name` или `--service-account-id`.

        ```bash
        yc dataproc cluster update <имя_или_идентификатор_кластера> \
           --service-account-id=<идентификатор_сервисного_аккаунта>
        ```

    1. Чтобы добавить или изменить сервисный аккаунт [автомасштабируемых подкластеров](../concepts/autoscaling.md), передайте имя или идентификатор нужного аккаунта в параметре `--autoscaling-service-account-name` или `--autoscaling-service-account-id`.

        ```bash
        yc dataproc cluster update <имя_или_идентификатор_кластера> \
           --autoscaling-service-account-id=<идентификатор_сервисного_аккаунта>
        ```

    1. Чтобы изменить [лог-группу](../../logging/concepts/log-group.md), в которую отправляются логи кластера, передайте идентификатор нужной лог-группы в параметре `--log-group-id`:

        ```bash
        yc dataproc cluster update <имя_или_идентификатор_кластера> \
           --log-group-id=<идентификатор_лог-группы>
        ```

        Идентификатор лог-группы можно получить со [списком лог-групп в каталоге](../../logging/operations/list.md).

    1. Чтобы защитить кластер от непреднамеренного удаления пользователем вашего облака, добавьте параметр `--deletion-protection`:

        ```bash
        yc dataproc cluster update <имя_или_идентификатор_кластера> \
           --deletion-protection
        ```

        Включенная защита не помешает подключиться к кластеру вручную и удалить данные.

    1. Чтобы изменить [свойства компонентов](../concepts/settings-list.md), передайте необходимые свойства в параметре `--property`:

        ```bash
        yc dataproc cluster update <имя_или_идентификатор_кластера> \
           --property "<префикс_ключа_1>:<ключ_1>=<значение>", "<префикс_ключа_2>:<ключ_2>=<значение>", ...
        ```

        {% note warning %}

        Использование параметра `--property` переопределит все свойства компонентов, которые не были явно переданы в параметре, на значения по умолчанию. Чтобы сохранить измененные ранее свойства, перечислите их в запросе наряду со свойствами, которые хотите изменить.

        {% endnote %}

    Идентификатор и имя кластера можно получить со [списком кластеров в каталоге](cluster-list.md#list).

- Terraform {#tf}

    Чтобы изменить настройки кластера Yandex Data Processing:

    1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

        Инструкция по созданию файла описана в разделе [Создание кластера](cluster-create.md).

    1. Чтобы включить защиту от удаления кластера и доступ к [веб-интерфейсам компонентов](../concepts/interfaces.md) Yandex Data Processing, измените значения соответствующих полей в описании кластера Yandex Data Processing:

        ```hcl
        resource "yandex_dataproc_cluster" "data_cluster" {
          ...
          deletion_protection = true
          ui_proxy            = true
          ...
        }
        ```

    1. Чтобы изменить сервисный аккаунт кластера Yandex Data Processing, измените значение параметра `service_account_id` в описании кластера Yandex Data Processing:

        ```hcl
        resource "yandex_dataproc_cluster" "data_cluster" {
          ...
          service_account_id = "<идентификатор_сервисного_аккаунта>"
          ...
        }
        ```

    1. Чтобы добавить или изменить сервисный аккаунт для управления [автомасштабируемыми подкластерами](../concepts/autoscaling.md), используйте параметр `autoscaling_service_account_id` в описании кластера Yandex Data Processing:

        ```hcl
        resource "yandex_dataproc_cluster" "data_cluster" {
          ...
          autoscaling_service_account_id = "<идентификатор_сервисного_аккаунта>"
          ...
        }
        ```

    1. Проверьте корректность настроек.

        1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
        1. Выполните команду:
        
           ```bash
           terraform validate
           ```
        
           Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    1. Подтвердите изменение ресурсов.

        1. Выполните команду для просмотра планируемых изменений:
        
           ```bash
           terraform plan
           ```
        
           Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
        
        1. Если вас устраивают планируемые изменения, внесите их:
           1. Выполните команду:
        
              ```bash
              terraform apply
              ```
        
           1. Подтвердите изменение ресурсов.
           1. Дождитесь завершения операции.

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, можно найти в [документации провайдера](../../terraform/resources/dataproc_cluster.md).

{% endlist %}