Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Spark™
  • Начало работы
    • Все инструкции
      • Информация об имеющихся кластерах
      • Создание кластера
      • Подключение к кластеру
      • Изменение кластера
      • Остановка и запуск кластера
      • Удаление кластера
  • Управление доступом
  • Правила тарификации
  • Метрики Yandex Monitoring
  • Справочник Terraform
  • История изменений
  1. Пошаговые инструкции
  2. Кластеры
  3. Изменение кластера

Изменение кластера Apache Spark™

Статья создана
Yandex Cloud
Обновлена 22 сентября 2025 г.

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

Консоль управления
Terraform
gRPC API

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

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Spark.

  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.

  3. В блоке Базовые параметры:

    • Измените имя и описание кластера.
    • Удалите или добавьте новые метки.
    • Выберите сервисный аккаунт или создайте новый с ролью managed-spark.integrationProvider. Это даст кластеру нужные права для работы с другими ресурсами.
  4. В блоке Сетевые настройки выберите группу безопасности для сетевого трафика кластера.

  5. В блоках Конфигурация драйвера и Конфигурация исполнителя укажите количество экземпляров и конфигурацию вычислительных ресурсов. Количество экземпляров может быть фиксированным или автомасштабируемым.

  6. В блоке Дополнительные настройки:

    1. Удалите или добавьте названия pip- и deb-пакетов.

      Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

    2. В настройке Окно обслуживания измените время технического обслуживания кластера:

      • Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
      • Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.

      Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.

    3. Выберите кластер Apache Hive™ Metastore для подключения в качестве хранилища метаданных.

    4. Установите или снимите защиту от удаления кластера.

    5. Включите или выключите History Server. Опция позволяет использовать сервис для мониторинга приложений Spark History Server.

    6. Включите или выключите Запись логов. Опция включает логирование Spark-приложений в кластере:

      1. Выберите место записи логов:
        • Каталог — выберите каталог из списка.
        • Группа — выберите лог-группу из списка или создайте новую.
      2. Выберите Минимальный уровень логирования из списка.
  7. Нажмите кнопку Сохранить.

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

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

    Как создать такой файл, см. в разделе Создание кластера.

  2. Чтобы изменить настройки кластера, измените значения нужных полей в конфигурационном файле.

    Внимание

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

    Пример структуры конфигурационного файла:

    resource "yandex_spark_cluster" "my_spark_cluster" {
      description         = "<описание_кластера>"
      name                = "my-spark-cluster"
      folder_id           = "<идентификатор_каталога>"
      service_account_id  = "<идентификатор_сервисного_аккаунта>"
      deletion_protection = <защитить_кластер_от_удаления>
    
      labels = {
        <список_меток>
      }
    
      network = {
        subnet_ids         = ["<список_идентификаторов_подсетей>"]
        security_group_ids = ["<список_идентификаторов_групп_безопасности>"]
      }
    
      config = {
        resource_pools = {
          driver = {
            resource_preset_id = "<класс_хоста>"
            size               = <фиксированное_количество_экземпляров>
          }
          executor = {
            resource_preset_id = "<класс_хоста>"
            size               = <фиксированное_количество_экземпляров>
          }
        }
        history_server = {
          enabled = <использование_Apache_Spark_History_Server>
        } 
        metastore = {
          cluster_id = "<идентификатор_кластера_Apache_Hive™_Metastore>"
        }
        dependencies = {
          deb_packages = ["<список_deb-пакетов>"]
          pip_packages = ["<список_pip-пакетов>"]
        }
      }
    
      maintenance_window = {
        type = "<тип_технического_обслуживания>"
        day  = "<день_недели>"
        hour = "<час_дня>"
      }
    
      logging = {
        enabled      = <включить_логирование>
        folder_id    = "<идентификатор_каталога>"
      }
    
    }
    

    Где:

    • description — описание кластера.

    • service_account_id — идентификатор сервисного аккаунта.

    • deletion_protection — защита кластера от непреднамеренного удаления: true или false.

    • labels — список меток. Метки задаются в формате <ключ> = "<значение>".

    • security_group_ids — список идентификаторов групп безопасности.

    • driver — конфигурация хостов для запуска драйверов Apache Spark™. В этом блоке укажите:

      • Класс хостов в параметре resource_preset_id.
      • Количество экземпляров. Укажите фиксированное количество в параметре size или минимальное и максимальное количество для автомасштабирования в параметрах min_size и max_size.
    • executor — конфигурация хостов для запуска исполнителей Apache Spark™. В этом блоке укажите:

      • Класс хостов в параметре resource_preset_id.
      • Количество экземпляров. Укажите фиксированное количество в параметре size или минимальное и максимальное количество для автомасштабирования в параметрах min_size и max_size.
    • maintenance_window – параметры технического обслуживания (в т. ч. для выключенных кластеров). В этом блоке укажите:

      • Тип технического обслуживания в параметре type. Принимает значения:
        • ANYTIME — в любое время.
        • WEEKLY — по расписанию.
      • День недели для типа обслуживания WEEKLY в параметре day: MON, TUE, WED, THU, FRI, SAT или SUN.
      • Час дня по UTC для типа обслуживания WEEKLY в параметре hour: от 1 до 24.
    • history_server — подключение сервиса Apache Spark™ History Server. Для использования сервиса укажите true в параметре enabled.

    • metastore — подключение хранилища метаданных Apache Hive™ Metastore. Укажите идентификатор кластера Apache Hive™ Metastore в параметре cluster_id.

    • dependencies — дополнительные deb- и pip-пакеты для запуска заданий Apache Spark™. В этом блоке укажите:

      • deb_packages — названия deb-пакетов. Их формат определяет команда установки apt install.
      • pip_packages — названия pip-пакетов. Их формат определяет команда установки pip install.
    • logging — параметры логирования. Сгенерированные компонентами Apache Spark™ логи будут отправляться в Yandex Cloud Logging. Для включения логирования:

      • Установите значение enabled = true.

      • Задайте одно из двух мест хранения логов:

        • folder_id — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.
        • log_group_id — идентификатор пользовательской лог-группы. Логи будут записываться в нее.
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

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

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

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

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Создайте файл body.json и добавьте в него следующее содержимое:

    {
      "cluster_id": "<идентификатор_кластера>",
      "update_mask": "<список_изменяемых_параметров>",
      "name": "<имя_кластера>",
      "description": "<описание_кластера>",
      "labels": { <список_меток> },
      "config_spec": {
       "resource_pools": {
         "driver": {
           "resource_preset_id": "<идентификатор_ресурсов_драйвера>",
           "scale_policy": {
             "fixed_scale": {
               "size": "<количество_экземпляров_драйвера>"
             }
           }
         },
         "executor": {
           "resource_preset_id": "<идентификатор_ресурсов_исполнителя>",
           "scale_policy": {
             "auto_scale": {
               "min_size": "<минимальное_количество_экземпляров_исполнителя>",
               "max_size": "<максимальное_количество_экземпляров_исполнителя>"
             }
           }
         }
       },
       "history_server": {
         "enabled": <использование_Apache_Spark_History_Server>
       },
        "dependencies": {
          "pip_packages": [ <список_pip-пакетов> ],
          "deb_packages": [ <список_deb-пакетов> ]
        },
        "metastore": {
          "cluster_id": "<идентификатор_кластера_Apache_Hive™_Metastore>"
        }
      },
      "network_spec": {
        "security_group_ids": [ <список_идентификаторов_групп_безопасности> ]
      },
      "deletion_protection": <защита_от_удаления>,
      "service_account_id": "<идентификатор_сервисного_аккаунта>",
      "logging": {
        "enabled": <использование_логирования>,
        "log_group_id": "<идентификатор_лог_группы>",
        "folder_id": "<идентификатор_каталога>"
      }
    }
    

    Где:

    • cluster_id — идентификатор кластера. Его можно запросить со списком кластеров в каталоге.

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      Формат перечисления настроек
      "update_mask": {
          "paths": [
              "<настройка_1>",
              "<настройка_2>",
              ...
              "<настройка_N>"
          ]
      }
      

      Важно

      Все параметры изменяемого кластера, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask.

    • name — имя кластера.

    • description — описание кластера.

    • labels — список меток. Метки задаются в формате "<ключ>": "<значение>".

    • config_spec — конфигурация кластера:

      • resource_pools — конфигурация пулов ресурсов:

        • driver — конфигурация хостов для запуска драйверов Apache Spark™.

          • resource_preset_id — класс хостов драйвера.

          • scale_policy — политика масштабирования групп хостов для драйвера:

            • fixed_scale — фиксированная политика масштабирования.

              • size — количество хостов для драйвера.
            • auto_scale — автоматическая политика масштабирования.

              • min_size — минимальное количество хостов для драйвера.
              • max_size — максимальное количество хостов для драйвера.

            Укажите один из двух параметров: fixed_scale либо auto_scale.

        • executor — конфигурация хостов для запуска исполнителей Apache Spark™.

          • resource_preset_id — класс хостов исполнителя.

          • scale_policy — политика масштабирования групп хостов для исполнителя:

            • fixed_scale — фиксированная политика масштабирования.

              • size — количество хостов для исполнителя.
            • auto_scale — автоматическая политика масштабирования.

              • min_size — минимальное количество хостов для исполнителя.
              • max_size — максимальное количество хостов для исполнителя.

            Укажите один из двух параметров: fixed_scale либо auto_scale.

        • history_server — параметры сервера истории.

          • enabled — флаг включения сервера истории. Позволяет использовать сервис для мониторинга приложений Spark History Server.
        • dependencies — списки пакетов, которые позволяют установить в кластер дополнительные библиотеки и приложения.

          • pip_packages — список pip-пакетов.
          • deb_packages — список deb-пакетов.

          При необходимости задайте ограничения на версии устанавливаемых пакетов, например:

          "dependencies": {
            "pip_packages": [
              "pandas==2.0.2",
              "scikit-learn>=1.0.0",
              "clickhouse-driver~=0.2.0"
            ]
          }
          

          Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

        • metastore — параметры хранилища метаданных кластера.

          • cluster_id — идентификатор кластера Apache Hive™ Metastore.
      • network — сетевые настройки:

        • security_group_ids — список идентификаторов групп безопасности.
      • deletion_protection — позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения: true или false.

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

      • service_account_id — идентификатор сервисного аккаунта для доступа к сервисам Yandex Cloud. Сервисному аккаунту должна быть назначена роль managed-spark.integrationProvider.

      • logging — параметры логирования:

        • enabled — позволяет включить логирование. Возможные значения: true или false. Логи, сгенерированные компонентами Apache Spark™, будут отправляться в Yandex Cloud Logging. Возможные значения: true или false.
        • folder_id — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.
        • log_group_id — идентификатор пользовательской лог-группы. Логи будут записываться в нее.

        Укажите один из двух параметров: folder_id либо log_group_id.

  4. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/spark/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        spark.api.cloud.yandex.net:443 \
        yandex.cloud.spark.v1.ClusterService.Update \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Была ли статья полезна?

Предыдущая
Подключение к кластеру
Следующая
Остановка и запуск кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»