Partekatu honen bidez:


Trino CLI

Nota:

Retiraremos Azure HDInsight en AKS el 31 de enero de 2025. Antes del 31 de enero de 2025, deberá migrar las cargas de trabajo a Microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo. Los clústeres restantes de la suscripción se detendrán y quitarán del host.

Solo el soporte técnico básico estará disponible hasta la fecha de retirada.

Importante

Esta funcionalidad actualmente está en su versión preliminar. En Términos de uso complementarios para las versiones preliminares de Microsoft Azure encontrará más términos legales que se aplican a las características de Azure que están en versión beta, en versión preliminar, o que todavía no se han lanzado con disponibilidad general. Para más 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.

La CLI de Trino para HDInsight en AKS proporciona un shell interactivo basado en terminal para ejecutar consultas.

Instalación en Windows

Para Windows, la CLI de Trino para HDInsight en AKS se instala a través de un MSI, que proporciona acceso a la CLI a través del símbolo del sistema de Windows (CMD) o PowerShell. Al instalar para Subsistema de Windows para Linux (WSL), consulte Instalación en Linux.

Requisitos

  • Java 8 o 11.

  • Agregue java.exe a PATH o defina JAVA_HOME variable de entorno que apunte al directorio de instalación de JRE, de modo que %JAVA_HOME%\bin\java.exe exista.

Instalación o actualización

El paquete MSI se usa para instalar o actualizar la CLI de Trino para HDInsight en AKS en Windows.

Descargue e instale la versión más reciente de la CLI de Trino. Cuando el instalador le pregunte si puede realizar cambios en el equipo, haga clic en la casilla "Sí". Una vez completada la instalación, deberá cerrar y volver a abrir las ventanas activas del símbolo del sistema de Windows o PowerShell para usar la CLI de Trino.

Descarga de la CLI de Trino: https://aka.ms/InstallTrinoCLIWindows

Ejecución de la CLI de Trino

Ahora puede ejecutar la CLI de Trino mediante “trino-cli” en el símbolo del sistema y conectarse al clúster:

trino-cli --server <cluster_endpoint>

Nota:

Si se ejecuta en el sistema operativo sin encabezado (sin explorador web), la CLI de Trino le pedirá que use el código de dispositivo para la autenticación. También puede especificar el parámetro de línea de comandos --auth AzureDeviceCode forzar el uso del código del dispositivo. En este caso, debe abrir un explorador en otro dispositivo o sistema operativo, escribir el código mostrado y autenticarse y volver a la CLI.

Solucionar problemas

Estos son algunos problemas comunes detectados al instalar la CLI de Trino en Windows.

Proxy bloquea la conexión

Si no puede descargar al instalador MSI porque el proxy está bloqueando la conexión, asegúrese de que el servidor proxy esté configurado correctamente. Para Windows 10, esta configuración se administra en el panel Configuración > Red e Internet > Proxy. Póngase en contacto con el administrador del sistema para más información sobre la configuración necesaria, o si su máquina se puede administrar mediante configuración o si requiere configuración avanzada.

Para obtener el MSI, el servidor proxy debe permitir las conexiones HTTPS a las siguientes direcciones:

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

Desinstalación

Puede desinstalar la CLI de Trino de la lista "Aplicaciones y características" de Windows. Para desinstalar:

Plataforma Instructions
Windows 10 Iniciar > configuración > aplicación
Windows 8 y Windows 7 Inicio > Panel de control > Programas > Desinstalar un programa

Una vez en esta pantalla, escriba Trino en la barra de búsqueda del programa. El programa que se va a desinstalar se denomina como versión <“HDInsight Trino CLI>.” Seleccione esta aplicación y haga clic en el botón Desinstalar.

Instalación en Linux

La CLI de Trino proporciona un shell interactivo basado en terminal para ejecutar consultas. Para instalar manualmente la CLI de Trino en Linux, seleccione la opción Instalar script.

Requisitos

  • Java 8 o 11.

  • Agregue java a PATH o defina JAVA_HOME variable de entorno que apunte al directorio de instalación JRE, de modo que $JAVA_HOME/bin/java exista.

Instalación o actualización

Tanto la instalación como la actualización de la CLI requieren volver a ejecutar el script de instalación. Instale la CLI mediante la ejecución de curl.

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

El script también se puede descargar y ejecutar localmente. Para que algunos cambios surtan efecto, es posible que tenga que reiniciar el shell.

Ejecución de la CLI de Trino

Ahora puede ejecutar la CLI de Trino con el “comando trino-cli” desde el shell y conectarse al clúster:

trino-cli --server <cluster_endpoint>

Nota:

Si se ejecuta en el sistema operativo sin encabezado (sin explorador web), la CLI de Trino le pedirá que use el código de dispositivo para la autenticación. También puede especificar el parámetro de línea de comandos --auth AzureDeviceCode forzar el uso del código del dispositivo. En este caso, debe abrir un explorador en otro dispositivo o sistema operativo, escribir el código mostrado y autenticarse y volver a la CLI.

Solucionar problemas

Estos son algunos problemas comunes que se han observado durante la instalación manual.

error "Objeto movido"

Si recibe un error de curl relacionado con el parámetro -L o un mensaje de error que incluye el texto "Objeto movido", intenta usar la dirección URL completa en lugar del redireccionamiento de aka.ms:

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

comando trino-cli no encontrado

hash -r

Este problema también puede ocurrir si no reinició el shell después de la instalación. Asegúrese de que la ubicación del comando trino-cli ($HOME/bin) esté en el $PATH.

Proxy bloquea la conexión

Para obtener los scripts de instalación, el servidor proxy debe permitir las conexiones HTTPS a las siguientes direcciones:

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

Desinstalación

Para quitar todos los archivos trino-cli, ejecute:

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

Autenticación

La CLI de Trino admite varios métodos de autenticación de Microsoft Entra mediante parámetros de línea de comandos. En la tabla siguiente se describen los parámetros importantes y los métodos de autenticación para obtener más información, consulte Autenticación.

Descripción de parámetros disponible en la CLI también:

trino-cli --help
Parámetro Significado Obligatorio Descripción
auth Nombre del método de autenticación No Determina cómo se proporcionan las credenciales de usuario. Si no se especifica, usa AzureDefault.
azure-client Id de cliente Sí para AzureClientSecret, AzureClientCertificate. Identificador de cliente de la entidad de servicio o la aplicación.
azure-tenant Id. de inquilino Sí para AzureClientSecret, AzureClientCertificate. Identificador de inquilino de Microsoft Entra.
azure-certificate-path Ruta de acceso de archivo al certificado Sí para AzureClientCertificate. Ruta de acceso al archivo pfx/pem con el certificado.
azure-use-token-cache Uso del caché de tokens o no No Si se proporciona, el token de acceso se almacena en caché y se reutiliza en AzureDefault, AzureInteractive, AzureDeviceCode modos.
azure-scope Ámbito del token No Cadena de ámbito de Microsoft Entra con la que solicitar un token.
use-device-code Usar el método de código de dispositivo o no No Equivalente a --auth AzureDeviceCode.
password Secreto de cliente para la entidad de servicio Sí para AzureClientSecret. Secreto/contraseña para la entidad de servicio al usar el modo AzureClientSecret.
access_token Token de acceso de JWT No Si el token de acceso obtenido externamente, se puede proporcionar mediante este parámetro. En este caso, no se permite auth parámetro.

Ejemplos

Descripción Comando de la CLI
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Autenticación interactiva del explorador trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Uso de la caché de tokens trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Entidad de servicio con secreto 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
Entidad de servicio y certificado protegido (se solicita la contraseña) 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

Solución de problemas

MissingAccessToken o InvalidAccessToken

La CLI muestra cualquiera de los errores:

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 el problema, pruebe los pasos siguientes:

  1. Salga de la CLI de Trino.
  2. Ejecute az logout:
  3. Ejecute az login -t <your-trino-cluster-tenantId>:
  4. Ahora este comando debería funcionar:
trino-cli --server <cluster-endpoint>
  1. También puede especificar parámetros de autenticación o inquilino:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Prohibida

La CLI muestra el error:

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 el problema, agregue el usuario o grupo al perfil de autorización.