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

Изменение настроек PXF

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 7 мая 2025 г.

Настройки PXF, которые можно задать средствами Yandex Cloud, совпадают с настройками в конфигурационном файле Greenplum® pxf-application.properties. Он описывает свойства протокола PXF. В кластере Greenplum® для настроек PXF заданы значения по умолчанию. Чтобы оптимизировать работу с внешними таблицами, вы можете изменить настройки PXF с помощью интерфейсов Yandex Cloud вместо правки файла.

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

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

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

  2. Нажмите на имя нужного кластера и выберите на панели слева  PXF.

  3. Нажмите кнопку Изменить настройки PXF в верхней части страницы.

  4. Измените настройки:

    • Connection Timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на чтение. Диапазон значений: от 5 до 600 секунд. Значение можно указать в разных единицах времени.

    • Upload Timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на запись. Диапазон значений: от 5 до 600 секунд. Значение можно указать в разных единицах времени.

    • Max Threads — максимальное количество потоков Apache Tomcat®. Диапазон значений: от 1 до 1024.

      Чтобы предотвратить ситуации, когда запросы зависают или не выполняются из-за перерасхода памяти или некорректной работы сборщика мусора Java, задайте количество потоков Apache Tomcat®. О регулировке числа потоков читайте в документации VMware Greenplum® Platform Extension Framework.

    • Pool Allow Core Thread Timeout — разрешен ли таймаут для стриминговых потоков ядра приложения (core streaming threads).

    • Pool Core Size — количество стриминговых потоков ядра в пуле. Диапазон значений: от 1 до 1024.

    • Pool Queue Capacity — максимальное количество запросов, которое можно добавить в очередь в пул за стриминговыми потоками ядра. Диапазон значений: от нуля и выше. При значении 0 очередь в пул не образуется.

    • Pool Max Size — максимально допустимое количество стриминговых потоков ядра. Диапазон значений: от 1 до 1024.

    • Xmx — изначальный размер JVM-кучи для демона PXF. Диапазон значений: от 64 до 16384 МБ. Значение можно указать в разных единицах измерения.

    • Xms — максимальный размер JVM-кучи для демона PXF. Диапазон значений: от 64 до 16384 МБ. Значение можно указать в разных единицах измерения.

  5. Нажмите кнопку Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

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

    yc managed-greenplum cluster update --help
    
  2. Задайте настройки PXF:

    yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \
       --pxf-connection-timeout=<таймаут_для_запросов_на_чтение> \
       --pxf-upload-timeout=<таймаут_для_запросов_на_запись> \
       --pxf-max-threads=<максимальное_число_потоков_Apache_Tomcat®> \
       --pxf-pool-allow-core-thread-timeout=<разрешен_ли_таймаут_для_стриминговых_потоков> \
       --pxf-poll-core-size=<количество_стриминговых_потоков> \
       --pxf-pool-queue-capacity=<емкость_очереди_в_пул_за_стриминговыми_потоками> \
       --pxf-pool-max-size=<максимальное_число_стриминговых_потоков> \
       --pxf-xmx=<изначальный_размер_JVM-кучи> \
       --pxf-xms=<максимальный_размер_JVM-кучи>
    

    Где:

    • pxf-connection-timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на чтение (в секундах). Диапазон значений: от 5 до 600.

    • pxf-upload-timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на запись (в секундах). Диапазон значений: от 5 до 600.

    • pxf-max-threads — максимальное количество потоков Apache Tomcat®. Диапазон значений: от 1 до 1024.

      Чтобы предотвратить ситуации, когда запросы зависают или не выполняются из-за перерасхода памяти или некорректной работы сборщика мусора Java, задайте количество потоков Apache Tomcat®. О регулировке числа потоков читайте в документации VMware Greenplum® Platform Extension Framework.

    • pxf-pool-allow-core-thread-timeout — разрешен ли таймаут для стриминговых потоков ядра приложения (core streaming threads). Значение по умолчанию: false.

    • pxf-poll-core-size — количество стриминговых потоков ядра в пуле. Диапазон значений: от 1 до 1024.

    • pxf-pool-queue-capacity — максимальное количество запросов, которое можно добавить в очередь в пул за стриминговыми потоками ядра. Диапазон значений: от нуля и выше. При значении 0 очередь в пул не образуется.

    • pxf-pool-max-size — максимально допустимое количество стриминговых потоков ядра. Диапазон значений: от 1 до 1024.

    • pxf-xmx — изначальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

    • pxf-xms — максимальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

    Имя кластера можно получить со списком кластеров в каталоге.

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

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

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

    Полный список доступных для изменения полей конфигурации кластера Managed Service for Greenplum® см. в документации провайдера Terraform.

  2. В описании кластера, в блоке pxf_config, задайте настройки PXF:

    resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" {
      ...
      pxf_config {
        connection_timeout             = <таймаут_для_запросов_на_чтение>
        upload_timeout                 = <таймаут_для_запросов_на_запись>
        max_threads                    = <максимальное_число_потоков_Apache_Tomcat®>
        pool_allow_core_thread_timeout = <разрешен_ли_таймаут_для_стриминговых_потоков>
        pool_core_size                 = <количество_стриминговых_потоков>
        pool_queue_capacity            = <емкость_очереди_в_пул_за_стриминговыми_потоками>
        pool_max_size                  = <максимальное_число_стриминговых_потоков>
        xmx                            = <изначальный_размер_JVM-кучи>
        xms                            = <максимальный_размер_JVM-кучи>
      }
    }
    

    Где:

    • connection_timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на чтение (в секундах). Диапазон значений: от 5 до 600.

    • upload_timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на запись (в секундах). Диапазон значений: от 5 до 600.

    • max_threads — максимальное количество потоков Apache Tomcat®. Диапазон значений: от 1 до 1024.

      Чтобы предотвратить ситуации, когда запросы зависают или не выполняются из-за перерасхода памяти или некорректной работы сборщика мусора Java, задайте количество потоков Apache Tomcat®. О регулировке числа потоков читайте в документации VMware Greenplum® Platform Extension Framework.

    • pool_allow_core_thread_timeout — разрешен ли таймаут для стриминговых потоков ядра приложения (core streaming threads). Значение по умолчанию: false.

    • pool_core_size — количество стриминговых потоков ядра в пуле. Диапазон значений: от 1 до 1024.

    • pool_queue_capacity — максимальное количество запросов, которое можно добавить в очередь в пул за стриминговыми потоками ядра. Диапазон значений: от нуля и выше. При значении 0 очередь в пул не образуется.

    • pool_max_size — максимально допустимое количество стриминговых потоков ядра. Диапазон значений: от 1 до 1024.

    • xmx — изначальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

    • xms — максимальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

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

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

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

      terraform validate
      

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

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

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

      terraform plan
      

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

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

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

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

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

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

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "configSpec.pxfConfig.connectionTimeout,configSpec.pxfConfig.uploadTimeout,configSpec.pxfConfig.maxThreads,configSpec.pxfConfig.poolAllowCoreThreadTimeout,configSpec.pxfConfig.poolCoreSize,configSpec.pxfConfig.poolQueueCapacity,configSpec.pxfConfig.poolMaxSize,configSpec.pxfConfig.xmx,configSpec.pxfConfig.xms",
                  "configSpec": {
                    "pxfConfig" : {
                      "connectionTimeout": "<таймаут_для_запросов_на_чтение>",
                      "uploadTimeout": "<таймаут_для_запросов_на_запись>",
                      "maxThreads": "<максимальное_число_потоков_Apache_Tomcat®>",
                      "poolAllowCoreThreadTimeout": <разрешен_ли_таймаут_для_стриминговых_потоков>,
                      "poolCoreSize": "<количество_стриминговых_потоков>",
                      "poolQueueCapacity": "<емкость_очереди_в_пул_за_стриминговыми_потоками>",
                      "poolMaxSize": "<максимальное_число_стриминговых_потоков>",
                      "xmx": "<изначальный_размер_JVM-кучи>",
                      "xms": "<максимальный_размер_JVM-кучи>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • connectionTimeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на чтение (в секундах). Диапазон значений: от 5 до 600.

    • uploadTimeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на запись (в секундах). Диапазон значений: от 5 до 600.

    • maxThreads — максимальное количество потоков Apache Tomcat®. Диапазон значений: от 1 до 1024.

      Чтобы предотвратить ситуации, когда запросы зависают или не выполняются из-за перерасхода памяти или некорректной работы сборщика мусора Java, задайте количество потоков Apache Tomcat®. О регулировке числа потоков читайте в документации VMware Greenplum® Platform Extension Framework.

    • poolAllowCoreThreadTimeout — разрешен ли таймаут для стриминговых потоков ядра приложения (core streaming threads). Значение по умолчанию: false.

    • poolCoreSize — количество стриминговых потоков ядра в пуле. Диапазон значений: от 1 до 1024.

    • poolQueueCapacity — максимальное количество запросов, которое можно добавить в очередь в пул за стриминговыми потоками ядра. Диапазон значений: от нуля и выше. При значении 0 очередь в пул не образуется.

    • poolMaxSize — максимально допустимое количество стриминговых потоков ядра. Диапазон значений: от 1 до 1024.

    • xmx — изначальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

    • xms — максимальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

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

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

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

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

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

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

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [ 
                  "config_spec.pxf_config.connection_timeout",
                  "config_spec.pxf_config.upload_timeout",
                  "config_spec.pxf_config.max_threads",
                  "config_spec.pxf_config.pool_allow_core_thread_timeout",
                  "config_spec.pxf_config.pool_core_size",
                  "config_spec.pxf_config.pool_queue_capacity",
                  "config_spec.pxf_config.pool_max_size",
                  "config_spec.pxf_config.xmx",
                  "config_spec.pxf_config.xms"
                ]
              },
              "config_spec": {
                "pxf_config" : {
                  "connection_timeout": "<таймаут_для_запросов_на_чтение>",
                  "upload_timeout": "<таймаут_для_запросов_на_запись>",
                  "max_threads": "<максимальное_число_потоков_Apache_Tomcat®>",
                  "pool_allow_core_thread_timeout": <разрешен_ли_таймаут_для_стриминговых_потоков>,
                  "pool_core_size": "<количество_стриминговых_потоков>",
                  "pool_queue_capacity": "<емкость_очереди_в_пул_за_стриминговыми_потоками>",
                  "pool_max_size": "<максимальное_число_стриминговых_потоков>",
                  "xmx": "<изначальный_размер_JVM-кучи>",
                  "xms": "<максимальный_размер_JVM-кучи>"
                }
              }
            }' \
        mdb.api.yandexcloud.kz:443 \
        yandex.cloud.mdb.greenplum.v1.ClusterService.Update
    

    Где:

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

    • connection_timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на чтение (в секундах). Диапазон значений: от 5 до 600.

    • upload_timeout — таймаут подключения к серверу Apache Tomcat® во время выполнения запросов на запись (в секундах). Диапазон значений: от 5 до 600.

    • max_threads — максимальное количество потоков Apache Tomcat®. Диапазон значений: от 1 до 1024.

      Чтобы предотвратить ситуации, когда запросы зависают или не выполняются из-за перерасхода памяти или некорректной работы сборщика мусора Java, задайте количество потоков Apache Tomcat®. О регулировке числа потоков читайте в документации VMware Greenplum® Platform Extension Framework.

    • pool_allow_core_thread_timeout — разрешен ли таймаут для стриминговых потоков ядра приложения (core streaming threads). Значение по умолчанию: false.

    • pool_core_size — количество стриминговых потоков ядра в пуле. Диапазон значений: от 1 до 1024.

    • pool_queue_capacity — максимальное количество запросов, которое можно добавить в очередь в пул за стриминговыми потоками ядра. Диапазон значений: от нуля и выше. При значении 0 очередь в пул не образуется.

    • pool_max_size — максимально допустимое количество стриминговых потоков ядра. Диапазон значений: от 1 до 1024.

    • xmx — изначальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

    • xms — максимальный размер JVM-кучи для демона PXF (в мегабайтах). Диапазон значений: от 64 до 16384.

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

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.

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

Предыдущая
Создание внешней таблицы
Следующая
Подключение к внешнему файловому серверу (gpfdist)
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»