Frequently Asked Questions

Настройка Hive LLAP

Для того что бы Hive LLAP корректно работал, необходимо рассчитать значения для некоторых параметров исходя из ресурсов, которые могут быть использованы LLAP демоном. Рекомендуется для демона LLAP использовать максимально доступное на кластере количество ресурсов или выделить полностью отдельные датаноды. Параметр hive.llap.daemon.yarn.container.mb - контейнер, выделяемый каждому из LLAP демонов, рассчитывается как yarn.nodemanager.resource.memory-mb - celling((N_Tez_AMs + 1)/N_LLAP_nodes)),
где
yarn.nodemanager.resource.memory-mb - память, доступная для всех YARN контейнеров на узле.
N_LLAP_nodes - количество узлов, на которых запускаются LLAP демоны.
N_Tez_AMs (количество Tez оркестраторов запросов) = 1*n(количество в параллель запущенных запросов) + 1 (некоторое постоянное провисание)

Далее на основании этого делаем рассчеты Heap Size, Сache и headroom
hive.llap.daemon.yarn.container.mb = llap_heap_size (LLAP Daemon Heap Size - Xmx memory used by executors) + hive.llap.io.memory.size (Cache) + llap_headroom_space(JVM overhead).

Вычислите сначала llap_heap_size исходя из числа hive.llap.daemon.num.executors и выделения на каждый executor ~4Gb. hive.llap.daemon.num.executors - количество executors, которое может быть запущено одновременно в рамках одного LLAP демона. Должно быть таким, что бы их количество не превышало количество доступных CPUs а так же чтоб hive.llap.daemon.num.executors*4hive.llap.daemon.yarn.container.mb.
llap_heap_size = hive.llap.daemon.num.executors * 4Gb.

Далее llap_headroom_space должен составлять 6% от llap_heap_size, но не более 6 GB.

Исходя из выше перечисленных расчетов hive.llap.io.memory.size = hive.llap.daemon.yarn.container.mb - llap_headroom_space
Полученную величину hive.llap.io.memory.size сравнить с минимально допустимой hive.llap.io.memory.size = hive.llap.daemon.num.executors*0.2GB
При этом hive.llap.io.enabled = true, каждому из executors необходимо ~200MB для кэша. Если полученный в ходе расчетов hive.llap.io.memory.size получился меньше, чем минимально допустимый hive.llap.io.memory.size. То рекомендуется либо выключить кэширование hive.llap.io.enabled = false, либо уменьшить llap_heap_size ( в том числе hive.llap.daemon.num.executors)
Last Updated 3 years ago

Arenadata

127018, Moscow
Skladochnaya St., 3, building 1,
Russia

support@arenadata.io

Please Wait!

Please wait... it will take a second!