Trino CLI
Importante
Azure HDInsight en AKS se retiró el 31 de enero de 2025. Obtenga más información con este anuncio.
Debe 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.
Importante
Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen más términos legales que se aplican a las características de Azure que se encuentran en versión beta, en versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general. Para obtener información sobre esta versión preliminar específica, consulte información de la versión preliminar de Azure HDInsight en AKS. Para preguntas o sugerencias de características, 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 el Subsistema de Windows para Linux (WSL), consulte Instalar en Linux.
Requisitos
Agregue java.exe a PATH o defina JAVA_HOME variable de entorno que apunte al directorio de instalación 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 el cuadro "Sí". Una vez completada la instalación, deberá cerrar y volver a abrir las ventanas del símbolo del sistema de Windows o PowerShell activas para usar la CLI de Trino.
Descargar la CLI de Trino: https://aka.ms/InstallTrinoCLIWindows
Ejecuta la CLI de Trino
Ahora puede ejecutar el CLI de Trino usando "trino-cli" en la consola de comandos 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
para 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.
Solución de problemas
Estos son algunos problemas comunes detectados al instalar la CLI de Trino en Windows.
Proxy bloquea la conexión
Si no puede descargar el instalador msi porque el proxy está bloqueando la conexión, asegúrese de que tiene el proxy configurado correctamente. Para Windows 10, esta configuración se administra en el panel Configuración > Red & Internet > Proxy. Póngase en contacto con el administrador del sistema para conocer la configuración necesaria o para situaciones en las que la máquina pueda administrarse o requerir una configuración avanzada.
Para obtener la MSI, el proxy debe permitir conexiones HTTPS a las siguientes direcciones:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Desinstalar
Puede desinstalar la CLI de Trino de la lista "Aplicaciones y características" de Windows. Para desinstalar:
Plataforma | Instrucciones |
---|---|
Windows 10 | Iniciar > Configuración > Aplicación |
Windows 8 y Windows 7 | Iniciar > 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 está en la lista como "CLI de Trino de HDInsight <versión>". 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 Install script (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. Es posible que tenga que reiniciar el shell para que los cambios surtan efecto.
Ejecuta 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
para forzar el uso del código de 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.
Solución de problemas
Estos son algunos problemas comunes detectados durante una instalación manual.
curl "Error de '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 de la redirección de aka.ms:
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
comando trino-cli no encontrado
hash -r
El problema también puede producirse si no ha reiniciado 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 proxy debe permitir conexiones HTTPS a las siguientes direcciones:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
desinstalar
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. |
ruta-de-certificado-azure | Ruta de acceso al archivo del certificado | Sí para AzureClientCertificate . |
Ruta de acceso al archivo pfx/pem con el certificado. |
azure-use-token-cache | ¿Usar la caché de tokens o no? | No | Si se proporciona un token de acceso, este se almacena en caché y se reutiliza en modos AzureDefault, AzureInteractive, AzureDeviceCode . |
ámbito de Azure | Ámbito del token | No | Cadena de ámbito de Microsoft Entra con la que solicitar un token. |
usar-código-del-dispositivo | Usar el método de código de dispositivo o no | No | Equivalente a --auth AzureDeviceCode . |
contraseña | Secreto del cliente para el principal del servicio | Sí para AzureClientSecret . |
Secreto o contraseña para la entidad de servicio cuando se usa el modo AzureClientSecret . |
token de acceso | Token de acceso de JWT | No | Si el token de acceso es obtenido externamente, se puede proporcionar mediante este parámetro. En este caso, no se permite el parámetro auth . |
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 |
Principal 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
FaltaAccesoToken o TokenDeAccesoInválido
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.
- Ejecutar
az logout
- Ejecutar
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 Prohibido
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 usuario o grupo al perfil de autorización de .