блог о bi, №1 в рунете

Настройка компонентов Kylin

(Hadoop: YARN, HDFS)
Не так давно наша компания начала осваивать новый стек технологий Apache. Спустя несколько успешных проектов мы хотим поделиться опытом разработки и некоторыми фичами.
После развёртывания docker-образа Apache Kylin от разработчиков (apachekylin/apache-kylin-standalone:4.0.0), при работе с аналитическими решениями, столкнулись с проблемой ограничений ресурсов, установленных в Kylin по умолчанию. В этой статье будут рассмотрены варианты изменения конфигурации Hadoop для кластера с одной нодой (узлом), технические характеристики которой 150 Гб ОЗУ, 981.46 Гб ПЗУ, 10 ядерный процессор с базовой тактовой частотой 2.40 Гц.
Для изменения конфигурации Hadoop необходимо после подключения к серверу перейти в командную строку контейнера Kylin, найти необходимый файл и отредактировать его посредством vi (команды приведены на рисунке 1).

Рисунок 1 – команды перехода в контейнер Kylin, поиска файла по имени

В файле yarn-site.xml установим дополнительные свойства (листинг 1):

  1. Будут ли применяться ограничения виртуальной памяти для контейнеров.
  2. Минимальная доля свободного и максимальная доля занятого дискового пространства, чтобы NodeManager пометил узел как работоспособный (по умолчанию 0,25).
  3. Максимальный предел памяти для каждой очереди, выделяемой каждому запросу контейнера в диспетчере ресурсов.
  4. Максимальное количество виртуальных ядер для каждой очереди, выделяемое каждому запросу контейнера в диспетчере ресурсов.

Листинг 1 – дополнительные свойства в yarn-site.xml

В файле capacity-scheduler.xml (листинг 2) добавим свойство, определяющее максимальный процент ресурсов в кластере, который может быть использован для запуска мастеров приложений — контролирует количество одновременно активных приложений. Ограничения для каждой очереди прямо пропорциональны емкости очереди и ограничениям пользователей. Задается как число с плавающей запятой, т.е. 0,8 = 80%. По умолчанию 10%.

Листинг 2 – дополнительные свойства в capacity-scheduler.xml

Чтобы изменения вступили в силу, контейнер необходимо перезапустить.

Листинг 3 – перезапуск контейнера