Compartilhar via


Gerenciar a configuração do cluster

Importante

Esse recurso está atualmente na visualização. Os Termos de Uso Complementares para Versões Prévias da 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 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 HDInsight no AKS permite ajustar as propriedades de configuração para melhorar o desempenho do cluster com determinadas configurações. Por exemplo, configurações de uso ou memória. Você pode executar as seguintes ações:

  • Atualizar as configurações de serviço existentes ou adicionar novas configurações.
  • Exportar as configurações usando a API REST.

Personalizar configurações

Você pode personalizar as configurações usando as seguintes opções:

Como usar o portal do Azure

  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. Acesse a folha "Gerenciamento de configuração" no menu à esquerda.

    Captura de tela mostrando a guia Gerenciamento de Configuração.

  5. Dependendo do tipo de cluster, os arquivos de configuração são listados. Para obter mais informações, consulte as configurações do Trino, do Flinke do Spark.

  6. Adicione novos pares chave-valor ou atualize os existentes para as configurações que você deseja modificar.

  7. Clique em OK e, em seguida, clique em Salvar.

Observação

Algumas alterações de configuração podem precisar da reinicialização do serviço para refletir as alterações.

Usando o modelo ARM

Pré-requisitos

No modelo do ARM, você pode editar serviceConfigsProfiles e especificar o nome do arquivo de configuração do OSS com o valor que deseja substituir.

Se o arquivo de configuração do OSS estiver no formato JSON/XML/YAML, você pode fornecer o nome do arquivo de configuração do OSS por meio de fileName. Forneça os pares de valor de chave que você deseja substituir em "valores".

Aqui estão alguns exemplos para cada carga de trabalho:

Exemplo de configuração do Flink:

 "serviceConfigsProfiles": [
                {
                    "serviceName": "flink-operator",
                    "configs": [
                        {
                            "component": "flink-configs",
                            "files": [
                                {
                                    "fileName": "flink-conf.yaml",
                                    "values": {
                                        "taskmanager.memory.process.size": "4096mb",
                                        "classloader.check-leaked-classloader": "false",
                                        "jobmanager.memory.process.size": "4096mb",
                                        "classloader.parent-first-patterns.additional": "org.apache.parquet"
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]

Exemplo de configuração do Spark:

  "serviceConfigsProfiles": [
                {
                    "serviceName": "spark-service",
                    "configs": [
                        {
                            "component": "livy-config",
                            "files": [
                                {
                                    "fileName": "livy-client.conf",
                                    "values": {
                                        "livy.client.http.connection.timeout": "11s"
                                    }
                                }
                            ]
                        },
                        {
                            "component": "spark-config",
                            "files": [
                                {
                                    "fileName": "spark-env.sh",
                                    "content": "# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. \"-Dx=y\")\nexport HDP_VERSION=3.3.3.5.2-83515052\n"
                                }
                            ]
                        }
                    ]
                }
          ]

Exemplo de configuração do Trino:

 "serviceConfigsProfiles": [
                {
                    "serviceName": "trino",
                    "configs": [
                        {
                            "component": "coordinator",
                            "files": [
                                {
                                    "fileName": "config.properties",
                                    "values": {
                                        "query.cache.enabled": "true",
                                        "query.cache.ttl": "1h",
                                        "query.enable-multi-statement-set-session": "true",
                                        "query.max-memory": "301GB"
                                    }
                                },
                                {
                                    "fileName": "log.properties",
                                    "values": {
                                        "io.trino": "INFO"
                                    }
                                }
                            ]
                        }
          ]

Para obter mais informações sobre as opções de configuração do Trino, consulte os modelos do ARM de exemplo.

Exportar as configurações usando a API REST

Você também pode exportar configurações de cluster para verificar os valores padrão e atualizados. Nesse momento, você só pode exportar configurações por meio da API REST.

Obter configurações de cluster:

GET Request: /subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}

Se você não estiver familiarizado com como enviar uma chamada à API REST, as etapas a seguir poderão ajudá-lo.

  1. Clique no botão a seguir na parte superior direita no portal do Azure para iniciar o Azure Cloud Shell.

    Captura de tela mostrando o ícone do Cloud Shell.

  2. Verifique se o Cloud Shell está definido como PowerShell no canto superior esquerdo. Execute o comando a seguir para obter o token e definir cabeçalhos de solicitação HTTP.

    $azContext = Get-AzContext
    $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
    
    $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
    $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
    $authHeader = @{
        'Content-Type'='application/json'
        'Authorization'='Bearer ' + $token.AccessToken
    }
    
  3. Defina a variável $restUri como a URL de solicitação Get.

    $restUri = 
    'https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}'
    

    Por exemplo: $restUri = 'https://management.azure.com/subscriptions/xxx-yyyy-zzz-00000/resourceGroups/contosoRG/providers/Microsoft.HDInsight/clusterpools/contosopool/clusters/contosocluster/serviceConfigs?api-version=2021-09-15-preview

    Observação

    Você pode obter a ID do recurso e a api-version atualizada no "MOdo de Exibição JSON" do cluster no portal do Azure.

    Captura de tela mostrando os botões de exibição de custo JSON.

  4. Envie a solicitação GET executando o comando a seguir.

    Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10