Trino в контейнере Docker
У Trino есть Docker образ trinodb/trino , содержащий сервер Trino и конфигурацию по умолчанию. Docker образ публикуется на Docker Hub и может быть использован совместно с Docker, а также с некоторыми другими средами.
Запуск контейнера
Для запуска Trino в Docker на Вашей машине должен быть установлен движок Docker. Вы можете загрузить Docker с официального сайта или использовать систему упаковки Вашей операционной системы.
С помощью команды docker создайте контейнер из образа trinodb/trino. Присвойте ему имя trino, чтобы Вам было проще ссылаться на него в дальнейшем. Запустите его в фоновом режиме и сопоставьте порт Trino из контейнера (по умолчанию 8080) с портом 8080 на рабочей станции.
docker run --name trino -d -p 8080:8080 trinodb/trino
Без указания тега образа контейнера по умолчанию используется последняя версия, но можно использовать номер любой другой версии Trino, например trinodb/trino:462.
Для того, чтобы увидеть все контейнеры, работающие в фоновом режиме, запустите docker ps.
% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 955c3b3d3d0a trinodb/trino:390 "/usr/lib/trino/bin/…" 39 hours ago Up 39 hours (healthy) 0.0.0.0:8080->8080/tcp trino
Когда Trino еще запускается, он показывает (health: starting), а когда полностью готов к работе - (healthy.
Примечание
Существует несколько способов использования Trino в контейнерах. Вы можете либо запустить Trino в контейнерах Docker локально, как описано в следующих разделах, либо использовать платформу для оркестровки контейнеров, например Kubernetes.
Обработка запросов
В образ входит клиент Trino, необходимый для интерфейса командной строки (CLI), trino. Запустите его в существующем контейнере, чтобы подключиться к серверу Trino. После запуска клиента введите и выполните следующий запрос к таблице каталога tpch:
$ docker exec -it trino trino
trino> select count(*) from tpch.sf1.nation;
_col0
-------
25
(1 row)
Query 20181105_001601_00002_e6r6y, FINISHED, 1 node
Splits: 21 total, 21 done (100.00%)
0:06 [25 rows, 0B] [4 rows/s, 0B/s]
Затем введите команду quit.
В качестве альтернативы Вы можете использовать Trino CLI, установленный непосредственно на Вашей рабочей станции. URL сервера по умолчанию в CLI http://localhost:8080 совпадает с портом, используемым в команде запуска контейнера. Вы также можете подключиться с помощью любого другого клиентского приложения, используя драйвер JDBC.
Настройка Trino
Образ уже содержит конфигурацию для начала работы и несколько каталогов, которые позволят Вам лучше изучить Trino. Вы также можете использовать контейнер с Вашими собственными конфигурационными файлами в локальной структуре каталогов etc, как это было создано в разделе Развертывание Trino. Если Вы создадите этот каталог в рамках пути /etc/trino при запуске контейнера, то вместо конфигурации по умолчанию будет использоваться Ваша конфигурация.
$ docker run --name trino -d -p 8080:8080 --volume $PWD/etc:/etc/trino trinodb/trino
Чтобы сохранить конфигурацию по умолчанию и настроить только каталоги, создайте папку /etc/trino/catalog или отдельные файлы свойств каталогов.
Если Вы хотите использовать дополнительные плагины, смонтируйте их по адресу/usr/lib/trino/plugin.
Чтобы избежать необходимости создавать файлы каталогов и монтировать их в контейнер, Вы можете включить динамическое управление каталогами, установив переменную окружения CATALOG_MANAGEMENT как dynamic.
$ docker run --name trino -d -p 8080:8080 -e CATALOG_MANAGEMENT=dynamic trinodb/trino
Очистка
Вы можете остановить и запустить контейнер, используя команды docker stop trino и docker start trino . Чтобы полностью удалить остановленный контейнер, выполните команду docker rm trino.




