Administración de configuración de Trino
Importante
Esta funcionalidad actualmente está en su versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar, o que todavía no se han lanzado con disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte la Información de Azure HDInsight sobre la versión preliminar de AKS. Para plantear preguntas o sugerencias sobre la característica, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.
El clúster de Trino con HDInsight en AKS incluye la mayoría de las configuraciones predeterminadas de Trino de código abierto. En este artículo se describe cómo actualizar los archivos de configuración y se agregan sus propios archivos de configuración complementarios al clúster.
Puede agregar o actualizar las configuraciones de dos maneras:
Nota:
Trino con HDInsight en AKS aplica ciertas configuraciones y prohíbe la modificación de algunos archivos o propiedades. Esto se hace para garantizar la seguridad y la conectividad adecuadas a través de la configuración. El ejemplo de archivos o propiedades prohibidos incluye, pero no se limita a:
- Archivo jvm.config con la excepción de la configuración del tamaño del montón.
- Node.properties: node.id, node.data-dir, log.path, etc.
Config.properties: http-server.authentication.*, http-server.https.* etc.
Mediante Azure Portal
En Azure Portal, puede modificar tres conjuntos de configuraciones de Trino estándares:
- log.properties
- config.properties
- node.properties
Siga los pasos para modificar las configuraciones:
Inicie sesión en Azure Portal.
En la barra de búsqueda de Azure Portal, escriba "clúster de HDInsight en AKS" y seleccione "clústeres de Azure HDInsight en AKS" en la lista desplegable.
Seleccione el nombre del clúster en la página de la lista.
Vaya a la hoja "Administración de configuración".
Agregue nuevos o actualice los pares de valores de clave existentes para las configuraciones que desea modificar. Por ejemplo, config.properties -> Configuraciones personalizadas -> haga clic en "Agregar" para agregar una nueva configuración y, a continuación, haga clic en Aceptar.
Haga clic en "Guardar" para guardar las configuraciones.
Uso de una plantilla de Resource Manager
Requisitos previos
- Un clúster operativo de Trino con HDInsight en AKS.
- Creación de plantilla de ARM para el clúster.
- Revise la muestra completa de plantilla de ARM del clúster.
- Familiaridad con la creación e implementación de plantillas de ARM.
Administración de clústeres
Todas las configuraciones de Trino se pueden especificar en serviceConfigsProfiles.serviceName[“trino”]
en properties.clusterProfile
.
El ejemplo siguiente se centra en coordinator/worker/miscfiles
. Para ver los catálogos, consulte Agregar catálogos a un clúster existente:
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "catalogs",
"files": [<file-spec>,…]
},
{
"component": "coordinator",
"files": [<file-spec>,…]
},
{
"component": "worker",
"files": [<file-spec>,…]
},
{
"component": " miscfiles",
"files": [<file-spec>,…]
},
]
}
]
Hay varios componentes que controlan diferentes aspectos de configuración:
Nombre del componente | Propiedades requeridas o permitidas para cada especificación de archivo | Descripción |
---|---|---|
common | filename , values |
Contiene archivos de configuración para el coordinador y el trabajo. |
coordinador | filename , values |
Contiene archivos de configuración solo para el coordinador, invalida común si está presente. |
Worker | filename , values |
Contiene solo archivos de configuración para los trabajos, invalida común si está presente. |
miscfiles |
filename , content |
Contiene archivos de configuración varios proporcionados por el usuario para todo el clúster. |
catalogs | filename , ya sea contenido o valores |
Contiene archivos de catálogo para todo el clúster. |
En el siguiente ejemplo se muestra:
- Invalide node.environment predeterminado para el clúster (que se muestra en la interfaz de usuario de Trino).
- Invalide los valores de config.properties predeterminados para el coordinador y el trabajo.
- Agregue grupos de recursos de ejemplo json y configure el coordinador para usarlo.
"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\"}"
}
]
}
]
}
Implemente la plantilla de ARM actualizada para reflejar los cambios en el clúster. Obtenga información sobre cómo implementar una plantilla de ARM.