BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Развертывание Trino

Развертывание Trino

Требования

Linux

  • 64-бит
  • предпочтительнее использовать более новые версии, особенно при работе в контейнерах
  • установление разумных ограничений для пользователя, запускающего Trino. Эти ограничения зависят от дистрибутива Linux, который Вы собираетесь использовать. Количество открытых файловых дескрипторов, необходимых для конкретного экземпляра Trino зависит от количества машин в кластере, умноженного на коэффициент, зависящий от рабочей нагрузки. Ограничение nofile устанавливает максимальное количество файловых дескрипторов, которые может иметь процесс, а ограничение nproc ограничивает количество процессов, и, следовательно, потоков на JVM, которые может создавать пользователь. Мы рекомендуем установить следующие значения (как правило, эта конфигурация находится в файле /etc/security/limits.conf):
<>····Docker-образе Trino.

 

Python

  • версии 2.6.x, 2.7.x, or 3.x
  • нужен только для скрипта bin/launcher 

 

 

Установка Trino

Загрузите тарбол trino-server-462.tar.gz и распакуйте его. Тарбол содержит один каталог верхнего уровня, trino-server-462, который мы называем каталогом установки.

Для хранения журналов Trino нужен каталог данных. Мы рекомендуем создать каталог данных вне каталога установки Trino. Путь к этому каталогу должен быть настроен в Свойствах узла.

Пользователь, запускающий процесс Trino, должен иметь полный доступ на чтение каталога установки, а также доступ на чтение и запись каталога данных.

 

Настройка Trino

Внутри каталога установки создайте каталог etc. В нем будет храниться следующее:

  • Свойства узла: конфигурация среды, специфичная для каждого узла
  • JVM Config: параметры командной строки для виртуальной машины Java
  • Свойства конфигурации: конфигурация для сервера Trino.
  • Свойства каталога: конфигурация для коннекторов (источников данных).

 

Свойства узла

Файл свойств узла, etc/node.properties, содержит конфигурацию, специфичную для каждого конкретного узла. Узел - это один экземпляр Trino, установленный на машине. Обычно этот файл создается системой развертывания при первой установке Trino. Ниже приведен минимальный вариант etc/node.properties:

<>···

node.environment - имя окружения. Все узлы Trino в кластере должны иметь одинаковое имя среды. Имя должно начинаться со строчного алфавитно-цифрового символа и содержать только строчные алфавитно-цифровые символы или символ подчеркивания (_).

  • node.id - уникальный идентификатор установки Trino. Для каждого узла он должен быть уникальным. Этот идентификатор должен оставаться неизменным при перезагрузке или обновлении Trino. Если на одной машине запущено несколько установок Trino (т.е. несколько узлов на одной машине), каждая установка должна иметь свой уникальный идентификатор, который  должен начинаться с буквенно-цифрового символа и содержать только буквенно-цифровые символы, - или _.
  • node.data-dir - расположение (путь к файловой системе) каталога данных. Здесь Trino хранит журналы и другие данные.

 

Файл JVM

Конфигурационный файл JVM, etc/jvm.config, содержит список опций командной строки, используемых для запуска виртуальной машины Java. Формат файла - это список опций, по одной в каждой строке. Параметры, содержащие пробелы или другие специальные символы, не должны заключаться в кавычки.

Ниже приводится алгоритм создания etc/jvm.config:

-server
-Xmx16G
-XX:InitialRAMPercentage=80
-XX:MaxRAMPercentage=80
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
-Dfile.encoding=UTF-8

# Allow loading dynamic agent used by JOL
-XX:+EnableDynamicAgentLoading

 

Значение памяти, используемой Trino, указанное с помощью параметра -Xmx, должно соответствовать памяти, доступной на Ваших узлах. Обычно рекомендуется использовать от 70 до 85 % от общего объема доступной памяти. Например, если все рабочие узлы и координатор занимают 64 Гб оперативной памяти, Вы можете использовать -Xmx54G. Trino использует большую часть выделенной памяти для обработки данных, оставшаяся часть приходится на внутренние процессы JVM, такие как сборка мусора.

Оставшейся части памяти должно быть достаточно для операционной системы и других запущенных служб.

На больших узлах процентное значение может быть другим. Выделение всей памяти под JVM или использование пространства подкачки не поддерживается, пространство подкачки рекомендуется отключить на уровне операционной системы.

Выделение большого объема памяти, превышающего 32 ГБ, не рекомендуется для производственных кластеров.

В случае возникновения ошибки OutOfMemoryError мы записываем дамп кучи для отладки и принудительно завершаем процесс.

 

Временный каталог

Временный каталог, используемый JVM, должен допускать выполнение кода, поскольку Trino обращается к двоичным файлам общих библиотек и использует их для таких целей, как сжатие и распаковка файлов.

В частности, в монтируемом разделе и каталоге не должен быть установлен флаг noexec. В некоторых операционных системах каталог /tmp по умолчанию монтируется с этим флагом, что препятствует запуску Trino. Вы можете решить эту проблему, переопределив временный каталог, добавив -Djava.io.tmpdir=/path/to/other/tmpdir в список опций JVM.

 

Свойства конфигурации

Файл свойств конфигурации, etc/config.properties, содержит конфигурацию сервера Trino. Каждый сервер Trino может функционировать как в качестве координатора, так и в качестве рабочего узла. Кластер должен включать одного координатора, выделение машины только для выполнения координационной работы обеспечивает наилучшую производительность на больших кластерах. Масштабирование и распараллеливание операций достигается за счет использования большого количества рабочих узлов.

Ниже приведена минимально  конфигурация координатора:

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
discovery.uri=http://example.net:8080

 

Минимальная настройка рабочих узлов:

coordinator=false
http-server.http.port=8080
discovery.uri=http://example.net:8080

 

В качестве альтернативы, если Вы настраиваете одну машину, которая будет выполнять функции координатора и рабочего узла, используйте следующую конфигурацию:

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
discovery.uri=http://example.net:8080

 

Описание свойств:

  • coordinator: разрешите этому экземпляру Trino работать в качестве координатора, принимать запросы от клиентов и управлять их выполнением.
  • node-scheduler.include-coordinator: разрешите планировать работу на координаторе. В больших кластерах обработка процессов на координаторе может повлиять на их производительность, поскольку ресурсы машины недоступны для критически важной задачи планирования, управления и мониторинга выполнения запросов.
  • http-server.http.port: указывает порт сервера HTTP. Trino использует HTTP для всех коммуникаций, как внутренних, так и внешних.
  • discovery.uri: у координатора Trino есть служба обнаружения, которая используется всеми узлами для поиска друг друга. Каждый экземпляр Trino регистрируется в службе обнаружения при запуске. Служба обнаружения использует HTTP-сервер совместно с Trino и, таким образом, использует тот же самый порт. Замените example.net:8080 на хост и порт координатора Trino. Если Вы отключили HTTP на координаторе, схема URI должна быть https, а не http.

 

Приведенные выше свойства конфигурации - это минимальный набор, который поможет Вам начать работу. Все дополнительные настройки являются необязательными и зависят от каждого конкретного кластера. Разделы Администрирование и Безопасность содержат документацию, описывающую многие аспекты, в том числе группы ресурсов  для определения политик работы с запросами и обеспечение отказоустойчивости.

Справочник Свойства  содержит полный список поддерживаемых свойств для таких тем, как Общие свойства, Свойства управления ресурсами, Свойства управления запросами, Веб - UI свойства и другие.

 

Уровни журналов

Дополнительный файл уровней журнала, etc/log.properties, позволяет установить минимальный уровень журнала для именованных иерархий регистраторов. Каждый логгер имеет имя, которое обычно является полным именем класса, использующего этот логгер. Логгеры имеют иерархию, основанную на точках в имени, подобно пакетам Java. Например, рассмотрим следующий файл уровней журнала:

io.trino=INFO

 

Это установит минимальный уровень INFO как для io.trino.server, так и для io.trino.plugin.hive. Существует четыре уровня: DEBUG, INFO, WARN и ERROR.

 

Характеристики каталога

Trino получает доступ к данным через коннекторы, которые устанавливаются в каталоги. Коннектор предоставляет все схемы и таблицы внутри каталога. Например, коннектор Hive сопоставляет каждую базу данных Hive со схемой. Если коннектор Hive установлен как каталог hive, а Hive содержит таблицу clicks в базе данных web, к этой таблице можно получить доступ в Trino как hive.web.clicks.

Каталоги регистрируются путем создания файла свойств каталога в каталоге etc/catalog. Например, создайте файл etc/catalog/jmx.properties со следующим содержимым, чтобы подключить jmx-коннектор в качестве jmx-каталога:

connector.name=jmx

 

Запуск Trino

При установке Trino предоставляется скрипт bin/launcher, который требует наличия Python в PATH. Этот скрипт можно использовать вручную. Он принимает следующие команды:

Command

Action

run

Запускает сервер. Чтобы выключить сервер, используйте Ctrl+C в этом же терминале или команду stop из другого терминала.

start

Запускает демон сервера и возвращает идентификатор его процесса.

stop

Завершает работу сервера в статусе start и run. Посылает сигнал SIGTERM.

restart

Останавливает, а затем перезапускает работающий сервер или запускает остановленный сервер, присвоив ему новый идентификатор процесса.

kill

Выключает зависший сервер, посылая сигнал SIGKILL.

status

Выводит строку состояния, либо Stopped pid, либо Running as pid.

 

Ряд дополнительных опций позволяет указать расположение конфигурационных файлов и каталогов, а также параметры Java. Запустите программу запуска с помощью команды --help, чтобы узнать о поддерживаемых командах, параметрах командной строки и значениях по умолчанию.

Опция -v или --verbose для каждой команды добавляет текущие настройки сервера перед обычным выводом команды.

Trino можно запустить в режиме демона, выполнив следующую команду:

bin/laun​cher start

 

Используйте команду status с опцией verbose для получения pid и списка настроек конфигурации:

bin/launcher -v status

 

В качестве альтернативы его можно запускать в фоновом режиме, а журналы и другие выходные данные записывать в stdout/stderr. При использовании системы наблюдения, например daemontools, следует перехватывать оба потока:

bin/launcher run

 

Программа запуска устанавливает значения по умолчанию для каталога конфигурации etc, файлов конфигурации в etc, каталога данных, идентичного каталогу установки, файла pid как var/run/launcher.pid и файлов журнала в каталоге var/log.

Вы можете изменить эти значения, чтобы настроить Trino в соответствии со своими требованиямиНапример, Trino RPM настраивает используемые каталоги, чтобы лучше следовать стандарту иерархии файловых систем Linux (FHS).

После запуска Trino Вы сможете найти файлы журналов в каталоге журналов внутри каталога данных var:

  • launcher.log: Этот журнал создается программой запуска и подключается к потокам сервера stdout и stderr. Он содержит несколько сообщений, возникающих во время инициализации журнала сервера, а также все ошибки и диагностики, выдаваемые JVM.
  • server.log: Это основной файл журнала, используемый Trino. Обычно он содержит информацию, необходимую в случае сбоя сервера во время инициализации.
  • http-request.log: Это журнал HTTP-запросов, который содержит каждый HTTP-запрос, полученный сервером.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Концепты Trino
Следующая статья →
Trino в контейнере Docker

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • «Балтийский лизинг» — первая компания в России, получившая лицензию № 0001 от Министерства экономики РФ на лизинговую деятельность, лицензия зарегистрирована 2 сентября 1996 года. «Балтийский лизинг» работает на российском рынке 33 года: компания представлена 79 филиалами по всей стране, сегодня в штате более 1300 сотрудников. За последние десять лет компания профинансировала имущество для 80 000 клиентов.

  • КАМИ – компания-лидер по поставкам тяжёлых станков в России, занимающаяся продажей и обслуживанием оборудования для обработки металла и дерева, изготовления мебели и не только. На сегодняшний день в компании работают более 1300 человек, запущено 10 обучающих центров, в продаже более 7000 единиц техники. 

  • AbbVie – компания, которая стремится решить самые серьезные проблемы здравоохранения. Это биофармацевтическая компания, сфокусированная на исследованиях и разработках.

  •  ООО «ММК-Информсервис» создает высокотехнологичные решения для эффективной работы предприятий. Разрабатывают и внедряют телекоммуникационные и бизнес-приложения, автоматизируют производство, выстраивают и поддерживают корпоративную IT-инфраструктуру.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.