Управление конфигурацией Trino

Внимание

Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.

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

Вы можете добавить и обновить конфигурации двумя способами:

Примечание.

Trino с HDInsight в AKS применяет определенные конфигурации и запрещает изменение некоторых файлов и /или свойств. Это делается для обеспечения надлежащей безопасности и подключения с помощью конфигурации. Пример запрещенных файлов и свойств включает в себя, но не ограничивается:

  • Файл конфигурации jvm.config, за исключением параметров размера кучи.
  • Node.properties: node.id, node.data-dir, log.path и т. д.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Используя портал Azure

В портал Azure можно изменить три набора стандартных конфигураций Trino:

  • log.properties
  • config.properties
  • node.properties

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

  1. Войдите на портал Azure.

  2. В строке поиска портал Azure введите "HDInsight в кластере AKS" и выберите "Azure HDInsight в кластерах AKS" в раскрывающемся списке.

    Снимок экрана: параметр поиска для начала работы с HDInsight в кластере AKS.

  3. Выберите имя кластера на странице списка.

    Снимок экрана: выбор HDInsight в кластере AKS, который требуется в списке.

  4. Перейдите в колонку "Управление конфигурацией".

    Снимок экрана: управление конфигурацией портал Azure.

  5. Добавьте новые или обновите существующие пары значений ключа для конфигураций, которые необходимо изменить. Например, config.properties —> пользовательские конфигурации —> нажмите кнопку "Добавить", чтобы добавить новый параметр конфигурации, а затем нажмите кнопку "ОК".

    Снимок экрана: настраиваемая конфигурация.

  6. Нажмите кнопку "Сохранить", чтобы сохранить конфигурации.

    Снимок экрана: сохранение конфигурации.

Использование шаблона ARM

Необходимые компоненты

Управление кластером

Все конфигурации Trino можно указать в serviceConfigsProfiles.serviceName[“trino”] разделе properties.clusterProfile.

В следующем примере основное внимание уделяется coordinator/worker/miscfiles. Сведения о каталогах см. в разделе "Добавление каталогов в существующий кластер".

"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [<file-spec>,…]
            },
            {
                "component": "coordinator",
                "files": [<file-spec>,…]
            },
            {
                "component": "worker",
                "files": [<file-spec>,…]
            },
            {
                "component": " miscfiles",
                "files": [<file-spec>,…]
            },
        ]
    }
]

Существует несколько компонентов, которые управляют различными аспектами конфигурации:

Наименование компонента Обязательные и разрешенные свойства для каждой спецификации файлов Description
общий filename, values Содержит файлы конфигурации для координатора и рабочей роли.
Координатор filename, values Содержит файлы конфигурации только для координатора, переопределяет общие при наличии.
рабочая роль filename, values Содержит файлы конфигурации только для рабочих ролей, переопределяет распространенные при наличии.
miscfiles filename, content Содержит другие файлы конфигурации, предоставляемые пользователем для всего кластера.
catalogs filename, содержимое или значения Содержит файлы каталога для всего кластера.

В следующем примере показано выполнение следующих задач:

  • Переопределите node.environment по умолчанию для кластера (отображается в пользовательском интерфейсе Trino).
  • Переопределите значения config.properties по умолчанию для координатора и рабочей роли.
  • Добавьте пример json групп ресурсов и настройте координатора для его использования.
"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "files": [
                    {
                        "fileName": "node.properties",
                        "values": {
                            "node.environment": "preview"
                        }
                    },
                    {
                        "fileName": "config.properties",
                        "values": {
                            "join-distribution-type": "AUTOMATIC",
                            "query.max-execution-time": "5d",
                            "shutdown.grace-period": "5m"
                        }
                    }
                ]                
            },
            {
                "component": "coordinator",
                "files": [
                    {
                        "fileName": "resource-groups.properties",
                        "values": {
                            "resource-groups.configuration-manager": "file",
                            "resource-groups.config-file": "${MISC:resource-groups}"
                        }                                            
                    }
                ]
            },
            {
                "component": "miscfiles",
                "files": [
                    {
                        "fileName": "resource-groups",
                        "path": "/customDir/resource-groups.json",
                        "content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
                    }
                ]
            }
        ]
    }

Разверните обновленный шаблон ARM, чтобы отразить изменения в кластере. Узнайте, как развернуть шаблон ARM.