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
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
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:
- Salga de la CLI de Trino.
- Ejecute
az logout
: - Ejecute
az login -t <your-trino-cluster-tenantId>
: - Ahora este comando debería funcionar:
trino-cli --server <cluster-endpoint>
- 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.