Compartilhar via


Gerenciamento de configuração do Trino

Observação

Desativaremos o Microsoft Azure HDInsight no AKS em 31 de janeiro de 2025. Para evitar o encerramento abrupto das suas cargas de trabalho, você precisará migrá-las para o Microsoft Fabric ou para um produto equivalente do Azure antes de 31 de janeiro de 2025. Os clusters restantes em sua assinatura serão interrompidos e removidos do host.

Somente o suporte básico estará disponível até a data de desativação.

Importante

Esse recurso está atualmente na visualização. Os Termos de uso complementares para versões prévias do Microsoft Azure incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, confira Informações sobre a versão prévia do Azure HDInsight no AKS. No caso de perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para ver mais atualizações sobre a Comunidade do Azure HDInsight.

O cluster de Trino com HDInsight no AKS vem com a maioria das configurações padrão de código aberto do Trino. Esse artigo descreve como atualizar arquivos de configuração e adiciona seus próprios arquivos de configuração complementares ao cluster.

Você pode adicionar ou atualizar as configurações de duas maneiras:

Observação

O trino com HDInsight no AKS impõe determinadas configurações e proíbe a modificação de alguns arquivos e/ou propriedades. Isso é feito para garantir a segurança/conectividade adequada por meio da configuração. O exemplo de arquivos ou propriedades proibidos inclui, mas não se limita a:

  • Arquivo jvm.config com exceção das configurações de tamanho de heap.
  • Node.properties: node.id, node.data-dir, log.path etc.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Como usar o portal do Azure

No portal do Azure, você pode modificar três conjuntos de configurações padrão do Trino:

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

Siga as etapas para modificar as configurações:

  1. Entre no portal do Azure.

  2. Na barra de pesquisa do portal do Azure, digite "HDInsight no cluster AKS" e selecione "Azure HDInsight em clusters AKS" na lista suspensa.

    Captura de tela mostrando a opção de pesquisa para começar a usar o HDInsight no Cluster do AKS.

  3. Selecione o nome do cluster na página da lista.

    Captura de tela mostrando a seleção do HDInsight no Cluster do AKS que você precisa na lista.

  4. Navegue até a folha "Gerenciamento de Configuração".

    Captura de tela mostrando o gerenciamento de configuração do portal do Azure.

  5. Adicione novos ou atualize os pares de valores de chave existentes para as configurações que você deseja modificar. Por exemplo, config.properties -> Configurações personalizadas ->, clique em "Adicionar" para adicionar a nova configuração e clique em OK.

    Captura de tela mostrando a configuração personalizada.

  6. Clique em "Salvar" para salvar a configuração.

    Captura de tela mostrando como salvar a configuração.

Usando o modelo ARM

Pré-requisitos

Gerenciamento de clusters

Todas as configurações de Trino podem ser especificadas em serviceConfigsProfiles.serviceName[“trino”] sob properties.clusterProfile.

O exemplo a seguir se concentra em coordinator/worker/miscfiles. Para catálogos, consulte Adicionar catálogos a um cluster 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>,…]
            },
        ]
    }
]

Há vários componentes que controlam diferentes aspectos de configuração:

Nome de componente Propriedades necessárias/permitidas para cada especificação de arquivo Descrição
comum filename, values Contém arquivos de configuração para coordenador e trabalho.
coordenador filename, values Contém arquivos de configuração somente para coordenador. Substitui common, se presente.
trabalho filename, values Contém arquivos de configuração somente para trabalhadores. Substitui common, se presente.
miscfiles filename, content Contém diversos arquivos de configuração fornecidos pelo usuário para todo o cluster.
catalogs filename, conteúdo ou valores Contém arquivos de catálogo para todo o cluster.

O exemplo a seguir demonstra:

  • Substitua o node.environment padrão para cluster (exibido na interface do usuário do Trino).
  • Substitua os valores padrão de config.properties para coordenador e trabalhador.
  • Adicione json de grupos de recursos de exemplo e configure o coordenador para usá-lo.
"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\"}"
                    }
                ]
            }
        ]
    }

Implante o modelo do ARM atualizado para refletir as alterações em seu cluster. Saiba como implantar um modelo do ARM.