Трино CLI
Примечание.
Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.
До даты выхода на пенсию будет доступна только базовая поддержка.
Внимание
Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.
Интерфейс командной строки Trino для HDInsight в AKS предоставляет интерактивную оболочку на основе терминала для выполнения запросов.
Установка в Windows
Для Windows интерфейс командной строки Trino для HDInsight в AKS устанавливается с помощью MSI, который предоставляет доступ к CLI через командную строку Windows (CMD) или PowerShell. При установке для подсистема Windows для Linux (WSL) см. раздел "Установка в Linux".
Требования
Добавьте java.exe в PATH или определите переменную среды JAVA_HOME, указывающую на каталог установки JRE, таким образом, что
%JAVA_HOME%\bin\java.exe
существует.
Установка или обновление
Пакет MSI используется для установки или обновления Интерфейса командной строки Trino для HDInsight в AKS в Windows.
Скачайте и установите последнюю версию Интерфейса командной строки Trino. Если программа установки запрашивает разрешения на внесение изменений на вашем компьютере, установите флажок "Да". После завершения установки необходимо закрыть и повторно открыть любую активную командную строку Windows или окна PowerShell для использования Интерфейса командной строки Trino.
Скачать Trino CLI: https://aka.ms/InstallTrinoCLIWindows
Запуск интерфейса командной строки Trino
Теперь вы можете запустить интерфейс командной строки Trino с помощью trino-cli в командной строке и подключиться к кластеру:
trino-cli --server <cluster_endpoint>
Примечание.
Если вы работаете в ос без головы (нет веб-браузера), Trino CLI предложит использовать код устройства для проверки подлинности. Можно также указать параметр --auth AzureDeviceCode
командной строки для принудительного использования кода устройства. В этом случае необходимо открыть браузер на другом устройстве или ОС, ввести код, отображаемый и пройти проверку подлинности, а затем вернуться в CLI.
Устранение неполадок
Ниже приведены некоторые распространенные проблемы при установке Trino CLI в Windows.
Подключение к прокси-серверу
Если вы не можете скачать установщик MSI, так как прокси-сервер блокирует подключение, убедитесь, что этот прокси-сервер правильно настроен. Для Windows 10 эти параметры управляются в области "Сеть параметров > " и "Прокси-сервер Интернета > ". Чтобы настроить обязательные параметры или решить вопросы, связанные с компьютером, который управляется с помощью конфигурации или для которого требуется расширенная настройка, обратитесь к системному администратору.
Чтобы вы могли получить MSI, ваш прокси-сервер должен разрешать HTTPS-подключения по следующим адресам:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Удаление
Вы можете удалить Интерфейс командной строки Trino из списка "Приложения и компоненты" Windows. Для удаления сделайте следующее:
Платформа | Instructions |
---|---|
Windows 10 | Начало > приложения параметров > |
Windows 8 и Windows 7 | Пуск > Панель управления > Программы > Удалить программу |
На этом экране введите Trino в строку поиска программы. Программа для удаления содержит список в виде версии> HDInsight Trino CLI<. Выберите это приложение, а затем нажмите кнопку "Удалить".
Установка на Linux
Интерфейс командной строки Trino предоставляет интерактивную оболочку на основе терминала для выполнения запросов. Вы можете вручную установить интерфейс командной строки Trino в Linux, выбрав параметр "Установить сценарий".
Требования
Добавьте java в PATH или определите переменную среды JAVA_HOME, указывающую на каталог установки JRE, таким образом, что существует $JAVA_HOME/bin/java.
Установка или обновление
Для установки и обновления интерфейса командной строки требуется повторно запустить скрипт установки. Установите ИНТЕРФЕЙС командной строки, выполнив curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Скрипт также можно скачать и выполнить на локальном компьютере. Чтобы изменения вступили в силу, может потребоваться перезапустить оболочку.
Запуск интерфейса командной строки Trino
Теперь вы можете запустить интерфейс командной строки Trino с помощью команды trino-cli из оболочки и подключиться к кластеру:
trino-cli --server <cluster_endpoint>
Примечание.
Если вы работаете в ос без головы (нет веб-браузера) Trino CLI предложит использовать код устройства для проверки подлинности. Можно также указать параметр --auth AzureDeviceCode
командной строки для принудительного использования кода устройства. В этом случае необходимо открыть браузер на другом устройстве или ОС, ввести код, отображаемый и пройти проверку подлинности, а затем вернуться в CLI.
Устранение неполадок
Ниже указаны некоторые распространенные проблемы, возникающие при установке вручную.
Ошибка curl "Объект перемещен"
Если вы получаете сообщение об ошибке из curl, связанного с параметром -L, или сообщение об ошибке, включая текст "Перемещение объекта", пытается использовать полный URL-адрес вместо перенаправления aka.ms:
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
Команда trino-cli не найдена
hash -r
Кроме того, проблема может возникнуть, если вы не перезапустили оболочку после установки. Убедитесь, что расположение команды trino-cli ($HOME/bin) находится в $PATH.
Подключение к прокси-серверу
Чтобы вы могли получить скрипты установки, ваш прокси-сервер должен разрешать HTTPS-подключения по следующим адресам:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Удалить.
Чтобы удалить все трино-cli-файлы, выполните следующую команду:
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Проверка подлинности
Trino CLI поддерживает различные методы проверки подлинности Microsoft Entra с помощью параметров командной строки. В следующей таблице описаны важные параметры и методы проверки подлинности, дополнительные сведения см. в статье "Проверка подлинности".
Описание параметров, доступных в CLI, также:
trino-cli --help
Параметр | Значение | Обязательное поле | Описание |
---|---|---|---|
auth | Имя метода проверки подлинности | No | Определяет, как предоставляются учетные данные пользователя. Если параметр не указан, используется AzureDefault . |
azure-client | Client ID | Да для AzureClientSecret, AzureClientCertificate . |
Идентификатор клиента субъекта-службы или приложения. |
azure-tenant | Идентификатор клиента | Да для AzureClientSecret, AzureClientCertificate . |
Идентификатор клиента Microsoft Entra. |
azure-certificate-path | Путь к файлу к сертификату | Да для AzureClientCertificate . |
Путь к pfx/pem-файлу с сертификатом. |
azure-use-token-cache | Использование кэша маркеров или нет | No | Если он указан, маркер доступа кэшируется и повторно используется в AzureDefault, AzureInteractive, AzureDeviceCode режимах. |
область azure | Область действия маркера | No | Строка области Microsoft Entra для запроса маркера. |
use-device-code | Использование метода кода устройства или нет | No | Эквивалент --auth AzureDeviceCode . |
password | Секрет клиента для субъекта-службы | Да для AzureClientSecret . |
Секрет или пароль для субъекта-службы при использовании AzureClientSecret режима. |
маркер доступа | Маркер доступа JWT | No | Если маркер доступа получен вневне, его можно указать с помощью этого параметра. В этом случае auth параметр не разрешен. |
Примеры
Description | Команда CLI |
---|---|
AzureDefault | trino-cli --server cluster1.pool1.region.projecthilo.net |
интерактивная аутентификация через браузер; | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive |
Использование кэша маркеров | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
Субъект-служба с секретом | 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 |
Субъект-служба и защищенный сертификат (запрашивается пароль) | 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 |
Устранение неполадок
MissingAccessToken или InvalidAccessToken
Интерфейс командной строки показывает любую из ошибок:
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"
}]
Чтобы устранить проблему, выполните следующие действия.
- Выход из Интерфейса командной строки Trino.
- Выполнить
az logout
- Выполнить
az login -t <your-trino-cluster-tenantId>
- Теперь эта команда должна работать:
trino-cli --server <cluster-endpoint>
- Кроме того, укажите параметры проверки подлинности или клиента:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403. Запрещено
Cli показывает ошибку:
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>
]
Чтобы устранить проблему, добавьте пользователя или группу в профиль авторизации.