2016-09-23 2 views
2

Есть ли возможность ограничить влияние плохого запроса на кластер Hbase?Как уменьшить влияние полного сканирования таблицы на кластер Hbase?

Если да, то чего необходимо достичь?

Нужен ли мне kerberos, чтобы идентифицировать пользователей и ограничивать их запрос или назначать им ресурсы?

Плохой запрос от phoenix может убить весь кластер Hbase, и это то, что я действительно хочу изменить. Я буду чрезвычайно благодарен за любой намек на эту тему.

ответ

2

У нас была аналогичная проблема при Splice Machine при выполнении запросов OLAP в наших версиях до версии 2.0. В 2.0 мы представили новый механизм выполнения, реализованный на Spark, который использует гибридные сканеры, которые считывают данные непосредственно из HFiles и объединяют их с данными, поступающими из Memorore HBase, что позволяет нам свести к минимуму влияние на серверы таких больших сканирований, поскольку мы получаем доступ только к данным HBase в памяти.

Вы можете проверить, как мы его реализовали в our repository. Основными классами будут SplitRegionScanner и MemstoreAwareObserver.

+1

Из любопытства: как вы убедитесь, что HFiles согласованы во время запроса Spark - через моментальные снимки HBase? –

+1

@SamsonScharfrichter мы используем сопроцессор (ранее подключенный MemstoreAwareObserver), чтобы убедиться, что наши проверки согласованы. Мы задерживаем наше сканирование, если выполняется сжатие или разделение (в течение нескольких миллисекунд) и блокировка/разделение блоков во время сканирования в этом регионе. –

Смежные вопросы