Управление конфигурацией 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
Выполните действия, чтобы изменить конфигурации:
Войдите на портал 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>,…]
},
]
}
]
Существует несколько компонентов, которые управляют различными аспектами конфигурации:
Наименование компонента | Обязательные и разрешенные свойства для каждой спецификации файлов | 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.