Задержка параллельного запроса Impala

Моя конфигурация кластера выглядит следующим образом:

  1. 3-узловой кластер
  2. 128 ГБ оперативной памяти на узел кластера.
  3. Процессор: 16-ядерный HyperThreaded на узел кластера. Все 3 узла имеют мастер Kudu и сервер T-Server и Impala, один из узлов имеет каталог Impala и Impala StateStore.

Мои проблемы заключаются в следующем:

1) Мне трудно понять динамическое объединение ресурсов в Impala при выполнении одновременных запросов. Я пытался установить mem_limit, но безуспешно. Я также пробовал статический пул служб, но с этим также не смог добиться требуемого параллелизма. Даже с контролем доступа требуемый параллелизм не был достигнут.

 I) The time taken for 1 query: 500-800ms.

 II) But if 10 concurrent queries are given the time taken grows to 3-6s per query.

 III) But if more than 20 concurrent queries are given the time taken is exceeding 10s per query.

2) Один из узлов моего кластера не берет нагрузку после отправки запроса, я проверил это по сводке запроса. Я пытался указать NUM_NODES как 0 и 1 для узла, который не берет на себя нагрузку, тем не менее сводка показывает, что узел не берет на себя нагрузку.


person Prog_G    schedule 21.09.2018    source источник
comment
Машина, не принимающая нагрузки, доступна из других 2-х?   -  person Saif Ahmad    schedule 21.09.2018
comment
@SaifAhmad да. Он доступен из других узлов.   -  person Prog_G    schedule 21.09.2018
comment
Вы выполняете один и тот же запрос параллельно? В этом случае вы можете столкнуться с «горячими точками», если, например, коэффициент репликации для вашей таблицы Kudu равен 1.   -  person mazaneicha    schedule 24.09.2018
comment
Нет, коэффициент репликации установлен на 3, и мы не выполняем один и тот же запрос параллельно. Выполняется более 100 различных запросов.   -  person Prog_G    schedule 24.09.2018
comment
Я бы не стал придавать слишком большого значения вашим показателям производительности. Impala является MPP и не предназначена для работы в кластере из 3 узлов. Большинство эталонных тестов выполняются как минимум на кластере из 10 узлов с общим объемом памяти 1 ТБ или более.   -  person tk421    schedule 28.09.2018
comment
@ tk421 tk421 спасибо за ваш ответ, но не могли бы вы сказать мне, как я могу управлять пулом ресурсов в Impala, чтобы я мог выполнять параллельные запросы в Impala?   -  person Prog_G    schedule 08.10.2018


Ответы (1)


Какой размер стола? Сколько строк в таблицах? Разделены ли таблицы? Было бы неплохо, если бы вы могли сравнить свои конфигурации с тестами Impala.

Как упоминалось выше, Impala предназначена для работы в инфраструктуре массовой параллельной обработки. Если бы у нас была установка из 10 узлов с 80 ядрами и 160 виртуальных ядер с хранилищем SAN на 12 ТБ, мы могли бы получить время вычислений 60 секунд с 5 одновременными пользователями.

person Gokul Alex    schedule 07.11.2019