Partilhar via


Trino CLI

Nota

Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.

Apenas o apoio básico estará disponível até à data da reforma.

Importante

Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.

A CLI Trino para HDInsight no AKS fornece um shell interativo baseado em terminal para executar consultas.

Instalação no Windows

Para Windows, a CLI Trino para HDInsight no AKS é instalada por meio de um MSI, que dá acesso à CLI por meio do Prompt de Comando do Windows (CMD) ou PowerShell. Ao instalar o Windows Subsystem for Linux (WSL), consulte Instalar no Linux.

Requisitos

  • Java 8 ou 11.

  • Adicione java.exe a PATH ou defina JAVA_HOME variável de ambiente apontando para o diretório de instalação do JRE, tal como existe %JAVA_HOME%\bin\java.exe .

Instalar ou atualizar

O pacote MSI é usado para instalar ou atualizar a CLI Trino para HDInsight no AKS no Windows.

Baixe e instale a versão mais recente da CLI Trino. Quando o instalador pedir se pode efetuar alterações ao seu computador, clique na caixa "Sim". Após a conclusão da instalação, você precisará fechar e reabrir qualquer janela ativa do Prompt de Comando do Windows ou do PowerShell para usar a CLI Trino.

Baixar Trino CLI: https://aka.ms/InstallTrinoCLIWindows

Executar a CLI Trino

Agora você pode executar a CLI Trino usando "trino-cli" no prompt de comando e conectar-se ao cluster:

trino-cli --server <cluster_endpoint>

Nota

Se você executar em um sistema operacional sem cabeça (sem navegador da Web), a CLI do Trino solicitará o uso do código do dispositivo para autenticação. Você também pode especificar o parâmetro --auth AzureDeviceCode de linha de comando para forçar o uso do código do dispositivo. Nesse caso, você precisa abrir um navegador em outro dispositivo/sistema operacional, inserir o código exibido e autenticar e, em seguida, voltar para a CLI.

Resolução de Problemas

Aqui estão alguns problemas comuns vistos ao instalar a CLI Trino no Windows.

Proxy bloqueia conexão

Se não conseguir transferir o instalador MSI porque o proxy está a bloquear a ligação, certifique-se de que tem o proxy corretamente configurado. Para o Windows 10, essas configurações são gerenciadas no painel Configurações > de Rede & Proxy da Internet > . Entre em contato com o administrador do sistema para obter as configurações necessárias ou para situações em que sua máquina pode ser gerenciada por configuração ou exigir configuração avançada.

Para obter o MSI, seu proxy precisa permitir conexões HTTPS para os seguintes endereços:

  • https://aka.ms/
  • https://hdionaksresources.blob.core.windows.net/

Desinstale o .

Você pode desinstalar a CLI Trino da lista "Aplicativos e recursos" do Windows. Para desinstalar:

Plataforma Instruções
Windows 10 Iniciar > aplicação Definições >
Windows 8 e Windows 7 Iniciar > programas > do painel > de controle Desinstalar um programa

Uma vez nesta tela, digite Trino na barra de pesquisa do programa. O programa a ser desinstalado está listado como "HDInsight Trino CLI <version>". Selecione este aplicativo e, em seguida, clique no botão Desinstalar.

Instalar no Linux

A CLI Trino fornece um shell interativo baseado em terminal para executar consultas. Você pode instalar manualmente a CLI Trino no Linux selecionando a opção Instalar script.

Requisitos

  • Java 8 ou 11.

  • Adicione java ao PATH ou defina JAVA_HOME variável de ambiente apontando para o diretório de instalação do JRE, de modo que $JAVA_HOME/bin/java exista.

Instalar ou atualizar

A instalação e a atualização da CLI exigem a nova execução do script de instalação. Instale a CLI executando curl.

curl -L https://aka.ms/InstallTrinoCli | bash

O script também pode ser transferido e executado localmente. Poderá ter de reiniciar a shell para que as alterações entrem em vigor.

Executar a CLI Trino

Agora você pode executar a CLI do Trino com o comando "trino-cli" do shell e conectar-se ao cluster:

trino-cli --server <cluster_endpoint>

Nota

Se você executar em headless OS (sem navegador da web) Trino CLI solicitará o uso do código do dispositivo para autenticação. Você também pode especificar o parâmetro --auth AzureDeviceCode de linha de comando para forçar o uso do código do dispositivo. Neste caso, você precisa abrir um navegador em outro dispositivo / sistema operacional, inserir o código exibido e autenticar e, em seguida, voltar para a CLI.

Resolução de Problemas

Seguem-se alguns problemas comuns encontrados durante uma instalação manual.

erro curl "Object Moved"

Se você receber um erro de curl relacionado ao parâmetro -L ou uma mensagem de erro incluindo o texto "Object Moved", tente usar o URL completo em vez do aka.ms redirecionamento:

curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash

comando trino-cli não encontrado

hash -r

O problema também pode ocorrer se não tiver reiniciado a sua shell após a instalação. Certifique-se de que a localização do comando trino-cli ($HOME/bin) está no seu $PATH.

Proxy bloqueia conexão

Para obter os scripts de instalação, seu proxy precisa permitir conexões HTTPS para os seguintes endereços:

  • https://aka.ms/
  • https://hdionaksresources.blob.core.windows.net/

Desinstalar

Para remover todos os arquivos trino-cli execute:

rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli

Autenticação

Trino CLI suporta vários métodos de autenticação do Microsoft Entra usando parâmetros de linha de comando. A tabela a seguir descreve os parâmetros e métodos de autenticação importantes, para obter mais informações, consulte Autenticação.

Descrição dos parâmetros disponíveis na CLI também:

trino-cli --help
Parâmetro Significado Necessário Description
autenticação Nome do método de autenticação Não Determina como as credenciais do usuário são fornecidas. Se não for especificado, usa AzureDefault.
azure-client ID de Cliente Sim para AzureClientSecret, AzureClientCertificate. ID do cliente da entidade de serviço/aplicativo.
azure-tenant ID de Inquilino do Sim para AzureClientSecret, AzureClientCertificate. ID de locatário do Microsoft Entra.
azure-certificate-path Caminho do arquivo para o certificado Sim para AzureClientCertificate. Caminho para o arquivo pfx/pem com certificado.
azure-use-token-cache Usar cache de token ou não Não Se fornecido, o token de acesso é armazenado em cache e reutilizado nos AzureDefault, AzureInteractive, AzureDeviceCode modos.
azure-scope Escopo do token Não Cadeia de caracteres de escopo do Microsoft Entra para solicitar um token com.
uso-dispositivo-código Use o método de código de dispositivo ou não Não Equivalente a --auth AzureDeviceCode.
password Segredo do cliente para a entidade de serviço Sim para AzureClientSecret. Segredo/senha para a entidade de serviço ao usar o AzureClientSecret modo.
token de acesso Token de acesso JWT Não Se o token de acesso obtido externamente, pode ser fornecido usando este parâmetro. Neste caso, auth o parâmetro não é permitido.

Exemplos

Description Comando da CLI
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Autenticação interativa do navegador trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Usar cache de token trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Principal de serviço com segredo trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientSecret --azure-client 11111111-1111-1111-1111-111111111111 --azure-tenant 11111111-1111-1111-1111-111111111111 --password
Principal de serviço e certificado protegido (senha é solicitada) trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientCertificate --azure-client 11111111-1111-1111-1111-111111111111 --azure-certificate-path d:\tmp\cert.pfx --azure-tenant 11111111-1111-1111-1111-111111111111 --password

Resolver problemas

MissingAccessToken ou InvalidAccessToken

A CLI mostra um dos erros:

Error running command: Authentication failed: {
  "code": "MissingAccessToken",
  "message": "Unable to find the token or get the required claims from it."
}
Error running command: Error starting query at https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=500, statusMessage=, headers={content-type=[application/json; charset=utf-8], date=[Fri, 16 Jun 2023 18:25:23 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: {
  "code": "InvalidAccessToken",
  "message": "Unable to find the token or get the required claims from it"
}]

Para resolver o problema, tente as seguintes etapas:

  1. Saia da Trino CLI.
  2. Executar az logout
  3. Executar az login -t <your-trino-cluster-tenantId>
  4. Agora este comando deve funcionar:
trino-cli --server <cluster-endpoint>
  1. Como alternativa, especifique os parâmetros auth/tenant:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Proibido

A CLI mostra erro:

Error running command: Error starting query at  https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=403, statusMessage=, headers={content-length=[146], content-type=[text/html], date=[Wed, 25 May 2023 16:49:24 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
]

Para resolver o problema, adicione usuário ou grupo ao perfil de autorização.