Skip to content

Commit

Permalink
update hive ui reference
Browse files Browse the repository at this point in the history
  • Loading branch information
vporyadke committed Oct 23, 2024
1 parent fdd604a commit eb7446e
Showing 1 changed file with 88 additions and 9 deletions.
97 changes: 88 additions & 9 deletions ydb/docs/ru/core/reference/embedded-ui/hive.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
# Hive web-viewer

Web-viewer Hive предоставляет интерфейс работы с Hive.
Hive бывает общим на кластер и тенантный.
Попасть на страницу Web-viewer Hive можно из {{ ydb-short-name }} Monitoring.
Попасть на страницу Web-viewer Hive можно из вкладки Tablets в {{ ydb-short-name }} Monitoring.

## Главная страница

Главная страница представляет информацию о распределении и потреблении ресурсов таблетками на каждой из нод представленной в виде таблицы.

Перед таблицей представлена краткая информация:

* **Tenant** - тенант, за который отвечает Hive
* **Tablets** - процентное и количественное соотношение поднятых таблеток к имеющимся
* **Boot Queue** - количество таблеток, которые находятся в очереди на запуск
* **Wait Queue** - количество таблеток, которые не имеют возможности подняться
* **Resource Total** - потребление ресурсов таблетками (cpu, net)
* **Resource StDev** - среднеквадратическое отклонение потребления ресурсов (cnt, cpu, mem, net)
* **Info**
* **Tenant** - тенант, за который отвечает Hive
* **Nodes** - количество узлов, подключённых к Hive
* **Tablets** - процентное и количественное соотношение поднятых таблеток к имеющимся
* **Boot Queue** - количество таблеток, которые находятся в очереди на запуск
* **Wait Queue** - количество таблеток, которые не имеют возможности подняться
* **Totals** - суммарное потребление ресурсов таблетками (cnt, cpu, mem, net)
* **Variance** - среднеквадратическое отклонение потребления ресурсов (cnt, cpu, mem, net) между узлами
* **Triggers** - значения показателей, которые используются для принятия решения об автобалансировке. Каждый сопровождается цветовым индикатором: зелёный означает, что значение находится на приемлемом уровне; жёлтый - что близко к порогу; красный - что значение превысило порог и сейчас должна быть запущена автобалансировка.
* **Counter**, **CPU**, **Memory**, **Network** - дисбаланс в потреблении соответствующего ресурса между узлами
* **MaxUsage** - максимальное потребление ресурса на одном узле
* **Imbalance** - дисбаланс в распределении по узлам таблеток одного объекта. Применяется только для таблеток без метрик.
* Статистика о числе запусков автобалансировки. Обнуляется при рестарте Hive.

После идет таблица, где каждая строка представляет из себя один из узлов под управлением Hive и имеет следующие столбцы:

Expand All @@ -27,7 +33,7 @@ Hive бывает общим на кластер и тенантный.
* **Unknown** - количество таблеток в неопределенном состоянии
* **Starting** - количество таблеток в процессе подъема
* **Running** - количество работающих таблеток
* **Types** - распределение таблеток по их типу
* **Types** - распределение таблеток по их типу. С помощью нажатия на конкретный тип можно запретить запускать таблетки данного типа на конкретном узле. Нажатием на тип в верху таблицы можно установить такой запрет на все узлы по умолчанию.
* **Usage** - отнормированный доминантный ресурс
* **Resources** :

Expand All @@ -48,11 +54,14 @@ Hive бывает общим на кластер и тенантный.
* **Waiting tablets** - список таблеток без возможности подняться
* **Resources** - потребление ресурсов каждой таблеткой
* **Tenants** - список тенантов с указанием их локальных Hive таблеток
* **Balancer** - меню для ручного запуска автобалансировки
* **Operations log** - лог ручных изменений конфигураций Hive через viewer
* **Nodes** - список узлов
* **Storage** - список пулов групп хранения
* **Groups** - список групп хранения для каждой таблетки
* **Settings** - страница конфигураций Hive
* **Reassign Groups** - страница перераспределения групп хранения между таблетками
* **SubActors** - список запущенных в данный момент вспомогательных акторов

Также можно посмотреть, какие таблетки используют конкретную группу, и наоборот, какие группы используются в конкретной таблетке.

Expand All @@ -69,3 +78,73 @@ Hive бывает общим на кластер и тенантный.

После указания всех параметров, следует нажать сначала "Query", который покажет количество каналов, попавших под переезд, и разблокирует кнопку "Reassign".
При нажатии которой начнется перераспределение.

## Balancer

При нажатии на кнопку **Balancer** появится окно со следующими элементами:

* **Run Balancer** - ручной запуск балансировки таблеток по узлам с заданным ограниченением на число перемещений таблеток.
* **Rebalance ALL tablets FROM SCRATCH** - перезапуск сразу всех таблеток базы. Позволяет быстро получить равномерное распределение таблеток ценой кратковременной недоступности базы. Не рекомендуется к использованию в production-окружении.
* **Latest tablet moves** - последние 5 перемещённых таблеток.

## Settings

На странице **Settings** представлен список параметров конфигурации Hive, которыми можно управлять через интерфейс. Для каждого параметра указано три значения: текущее значение, значение из [конфигурации YDB](../../maintenance/manual/config-overview.md) и значение по умолчанию. Параметры, значения которых выставлены через интерфейс, выделены жирным. Выставленные через интерфейс значения имеют приоритет над значениями из конфигурации YDB.

Параметр | Формат | Описание
--- | --- | ---
MaxTabletsScheduled | Целое число | Максимальное число таблеток, одновременно находящихся в процессе старта на одном узле
MaxBootBatchSize | Целое число | Максимальное число таблеток из очереди на запуск, обрабатываемых за раз
DrainInflight | Целое число | Число таблеток, одновременно перезапускающихся в процессе Drain одного узла
MinScatterToBalance | Вещественное число | Порог метрики Scatter для ресурсов CPU, Memory, Network. Имеет приоритет ниже, чем параметры ниже.
MinCPUScatterToBalance | Вещественное число | Порог метрики Scatter для ресурса CPU
MinMemoryScatterToBalance | Вещественное число | Порог метрики Scatter для ресурса Memory
MinNetworkScatterToBalance | Вещественное число | Порог метрики Scatter для ресурса Network
MinCounterScatterToBalance | Вещественное число | Порог метрики Scatter для ресурса Counter
MinNodeUsageToBalance | Вещественное число | Потребление ресурсов на узле ниже данного значения приравнивается к данному значению
MaxNodeUsageToKick | Вещественное число | Порог потребления ресурсов на узле для запуска emergency-автобалансировки
NodeUsageRangeToKick | Вещественное число | Автобалансировка считается нецелесообразной, если разнице в уровне потребления ресурсов между узлами меньше этого значения
ResourceChangeReactionPeriod | Целое число секунд | Частота обновления аггрегированной статистики потребления ресурсов
TabletKickCooldownPeriod | Целое число секунд | Минимальный период времени между перемещениями одной таблетки
NodeSelectStrategy | Выбор из списка | Стратегия выбора узла для запуска таблетки. Возможные варианты: взвешенно-случайный выбор на основе потребления, выбор узла с минимальным потреблением, выбор случайного узла среди 7% узлов с наименьшим потреблением, выбор случайного узла
SpreadNeighbours | вкл/выкл | Учитывать ли то, к какому объекту относятся таблетки, чтобы по возможности запускать таблетки одного объекта на разных узлах
MaxResourceCPU | Целое число наносекунд | Максимальное потребление CPU на узле в секунду. Значение по умолчанию, используется только если узел не предоставляет значение при регистрации в Hive.
MaxResourceMemory | Целое число байт | Максимальное потребление памяти на узле. Значение по умолчанию, используется только если узел не предоставляет значение при регистрации в Hive.
MaxResourceNetwork | Целое число байт/секунду | Максимальное потребление полосы на узле. Значение по умолчанию, используется только если узел не предоставляет значение при регистрации в Hive.
MaxResourceCounter | Целое число наносекунд | Максимальное потребление виртуального ресурса Counter на узле.
DefaultUnitIOPS | Целое число | Значение по умолчанию для IOPS одного канала
DefaultUnitThroughput | Целое число байт/секунду | Значение по умолчанию для потребления пропускной способности одним каналом
DefaultUnitSize | Целое число байт | Значение по умолчанию для потребления места на дисках одним каналом
StorageBalanceStrategy | Выбор из списка | Какой из параметров выше (IOPS, THROUGHPUT, SIZE) используется для распределения каналов таблеток по группам хранения. Вариант AUTO --- использование того, чьё потребление максимально.
StorageSafeMode | вкл/выкл | Проверяется ли превышение максимального потребления ресурсов групп хранения
StorageSelectStrategy | Выбор из списка | Стратегия выбора группы хранения для канала таблетки. Аналогично NodeSelectStrategy, с дополнительным вариантом [Round-robin](https://ru.wikipedia.org/wiki/Round-robin_(%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC)).
MinPeriodBetweenReassign | Целое число секунд | Минимальный период времени между переназначениями групп хранения для каналов одной таблетки
MetricsWindowSize | Целое число миллисекунд | Размер окна, на котором аггрегируются метрики потребления ресурсов таблетками
ResourceOvercommitment | Вещественное число | Коэффициент переподписки на ресурсы узлов
NodeBalanceStrategy | Выбор из списка | Стратегия выбора узла, с которого перевозятся таблетки при автобалансировке. Аналогично NodeSelectStrategy.
TabletBalanceStrategy | Выбор из списка | Стратегия выбора таблетки для перевоза при автобалансировке. Аналогично NodeSelectStrategy.
MinPeriodBetweenBalance | Вещественное число секунд | Минимальный период времени между двумя итерациями автобалансировки, не относится к emergency-балансировке
BalancerInflight | Целое число | Число таблеток, одновременно перезапускающихся в процессе автобалансировки, не относится к emergency-балансировке
MaxMovementsOnAutoBalancer | Целое число | Число перемещений таблеток за одну итерацию автобалансировки, не относится к emergency-балансировке
ContinueAutoBalancer | вкл/выкл | При включении следующая итерация балансировки запускается, не дожидаясь, когда пройдёт ResourceChangeReactionPeriod
MinPeriodBetweenEmergencyBalance | Вещественное число секунд | Аналогично MinPeriodBetweenBalance, но для emergency-балансировки
EmergencyBalancerInflight | Целое число | Аналогично BalancerInflight, но для emergency-балансировки
MaxMovementsOnEmergencyBalancer | Целое число | Аналогично MaxMovementsOnAutoBalancer, но для emergency-балансировки
ContinueEmergencyBalancer | вкл/выкл | Аналогично ContinueAutoBalancer, но для emergency-балансировки
CheckMoveExpediency | вкл/выкл | Производится ли проверка целесообразности перемещений таблеток
SpaceUsagePenaltyThreshold | Вещественное число | При перевозе канала из-за кончающегося места в группе, пессимизировать группы, в которых свободное место отличается во столько или менее раз от исходной группы
SpaceUsagePenalty | Вещественное число | Коэффициент штрафа, описанного выше
WarmUpBootWaitingPeriod | Целое число миллисекунд | Время ожидания старта всех известных узлов при старте базы
MaxWarmUpPeriod | Целое число секунд | Максимальное время ожидания старта узлов при старте базы
WarmUpEnabled | вкл/выкл | Дожидаться ли старта всех узлов при старте базы или запускать таблетки на первом подключившемся
ObjectImbalanceToBalance | Вещественное число | Порог метрики дисбаланса таблеток одного объекта
ChannelBalanceStrategy | Выбор из списка | Стратегия выбора канала для переназначения при балансировке каналов. Аналогично NodeSelectStrategy.
MaxChannelHistorySize | Целое число | Балансировка каналов не должна приводить к тому, чтобы размер истории канала превышал это значение
StorageInfoRefreshFrequency | Целое число миллисекунд | Частота обновления информации о пулах хранения
MinStorageScatterToBalance | Вещественное число | Порог метрики Scatter для групп хранения
MinGroupUsageToBalance | Вещественное число | Потребление ресурсов группы хранения ниже данного значения приравнивается к данному значению
StorageBalancerInflight | Целое число | Число таблеток, одновременно перезапускающихся во время балансировки каналов
LessSystemTabletsMoves | вкл/выкл | Минимизация перемещения системных таблеток при автобалансировке
BalancerIgnoreTabletTypes | Список типов таблеток, разделённый точкой с запятой | Типы таблеток, на которые не распротраняется автобалансировка

Также на этой странице можно управлять тем, какие метрики учитыаются для каких типов таблеток.

0 comments on commit eb7446e

Please sign in to comment.