Трино CLI
Важный
Azure HDInsight на AKS было снято с эксплуатации 31 января 2025 г. Узнайте больше с этим объявлением.
Необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого завершения рабочих нагрузок.
Важный
Эта функция сейчас доступна в предварительной версии. Дополнительные условия использования для предварительных версий Microsoft Azure включают дополнительные юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в Azure HDInsight в предварительной версии AKS. Для вопросов или предложений по функциям отправьте запрос AskHDInsight с подробными сведениями и подпишитесь, чтобы получать дополнительные обновления в Azure HDInsight Community.
Интерфейс командной строки 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. Чтобы удалить:
Платформа | Инструкции |
---|---|
Windows 10 | Запуск приложения > параметров > |
Windows 8 и Windows 7 | Пуск > Панель управления > Программы > Удаление программы |
На этом экране введите Trino в строку поиска программы. Программа для удаления указана как "HDInsight Trino CLI <версии>". Выберите это приложение, а затем нажмите кнопку "Удалить".
Установка в Linux
Интерфейс командной строки Trino предоставляет интерактивную оболочку на основе терминала для выполнения запросов. Вы можете вручную установить интерфейс командной строки Trino в Linux, выбрав параметр "Установить сценарий".
Требования
Добавьте java в PATH или определите переменную среды JAVA_HOME, указывающую на каталог установки JRE, таким образом, что существует $JAVA_HOME/bin/java.
Установка или обновление
Для установки и обновления интерфейса командной строки требуется повторно запустить скрипт установки. Установите CLI, запустив curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Скрипт также можно скачать и запустить локально. Возможно, вам придется перезапустить оболочку, чтобы изменения вступили в силу.
Запуск интерфейса командной строки Trino
Теперь вы можете запустить интерфейс командной строки Trino с помощью команды trino-cli из оболочки и подключиться к кластеру:
trino-cli --server <cluster_endpoint>
Заметка
Если вы используете headless операционную систему (без веб-браузера), CLI Trino предложит использовать код устройства для аутентификации. Можно также указать параметр командной строки --auth AzureDeviceCode
, чтобы принудительно использовать код устройства. В этом случае необходимо открыть браузер на другом устройстве или ОС, ввести код, отображаемый и пройти проверку подлинности, а затем вернуться в CLI.
Устранение неполадок
Ниже приведены некоторые распространенные проблемы при установке вручную.
ошибка "Объект перемещен"
Если вы получаете сообщение об ошибке из 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
Параметр | Значение | Обязательно | Описание |
---|---|---|---|
аутентификация | Имя метода проверки подлинности | Нет | Определяет, как предоставляются учетные данные пользователя. Если не указано, использует AzureDefault . |
клиент Azure | Идентификатор клиента | Да для AzureClientSecret, AzureClientCertificate . |
Идентификатор клиента субъекта-службы или приложения. |
azure-tenant | Идентификатор клиента | Да для AzureClientSecret, AzureClientCertificate . |
Идентификатор клиента Microsoft Entra. |
azure-сертификат-путь | Путь к файлу сертификата | Да для AzureClientCertificate . |
Путь к pfx/pem-файлу с сертификатом. |
Azure - использовать кэширование токенов | Использовать кэш токенов или нет | Нет | Если предоставлен, маркер доступа кэшируется и повторно используется в режимах AzureDefault, AzureInteractive, AzureDeviceCode . |
область Microsoft Azure | Область токена | Нет | Строка области Microsoft Entra для запроса токена. |
использовать-код-устройства | Использовать метод кода устройства или нет? | Нет | Эквивалентно --auth AzureDeviceCode . |
пароль | Секрет клиента для субъекта-службы | Да для AzureClientSecret . |
Секрет или пароль для учетной записи службы при использовании режима AzureClientSecret . |
токен доступа | Маркер доступа JWT | Нет | Если маркер доступа получен вневне, его можно указать с помощью этого параметра. В этом случае параметр auth не разрешен. |
Примеры
Описание | Команда 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>
]
Чтобы устранить проблему, добавьте пользователя или группу в профиль авторизации .