Управление конфигурацией Trino
Важный
Azure HDInsight на AKS было выведено из эксплуатации 31 января 2025 г. Узнайте подробнее об этом объявлении.
Необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого завершения рабочих нагрузок.
Важно
Эта функция сейчас доступна в предварительной версии. Дополнительные условия использования для предварительных версий Microsoft Azure включают дополнительные юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в Azure HDInsight в предварительной версии AKS. Для вопросов или предложений по улучшению функционала отправьте запрос на AskHDInsight с подробностями и следите за обновлениями в Azure HDInsight Community.
Кластер Trino с HDInsight в AKS поставляется с большинством конфигураций по умолчанию для Trino с открытым исходным кодом. В этой статье описывается обновление файлов конфигурации и добавление собственных дополнительных файлов конфигурации в кластер.
Вы можете добавить и обновить конфигурации двумя способами:
- Использование портала Azure
- использование шаблона ARM
Заметка
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
- свойства узла
Выполните действия, чтобы изменить конфигурации:
Войдите в портал Azure.
В строке поиска на портале Azure введите "HDInsight в кластере AKS" и выберите "Azure HDInsight в кластерах AKS" в раскрывающемся списке.
Выберите имя кластера на странице списка.
Перейдите на вкладку "Управление конфигурацией".
Добавьте новые или обновите существующие пары значений ключа для конфигураций, которые необходимо изменить. Например, config.properties —> пользовательские конфигурации —> нажмите кнопку "Добавить", чтобы добавить новый параметр конфигурации, а затем нажмите кнопку "ОК".
Нажмите кнопку "Сохранить", чтобы сохранить конфигурации.
Использование шаблона ARM
Необходимые условия
- Оперативный кластер Trino с HDInsight в AKS.
- Создайте шаблон ARM для кластера.
- Просмотрите полный пример шаблона ARM кластера.
- Знакомство с разработкой и развертыванием шаблонов 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.