Поделиться через


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

Важный

Azure HDInsight на AKS было выведено из эксплуатации 31 января 2025 г. Узнайте подробнее об этом объявлении.

Необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого завершения рабочих нагрузок.

Важно

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

Кластер 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
  • свойства узла

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

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

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

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

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

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

  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>,…]
            },
        ]
    }
]

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

Имя компонента Обязательные и разрешенные свойства для каждой спецификации файлов Описание
общий filename, values Содержит файлы конфигурации для координатора и рабочего.
координатор filename, values Содержит файлы конфигурации только для координатора, переопределяет общие при наличии.
рабочий filename, values Содержит файлы конфигурации только для рабочих узлов, переопределяет общие файлы, если они присутствуют.
miscfiles filename, content Содержит другие файлы конфигурации, предоставляемые пользователем для всего кластера.
Каталоги 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.