Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update hive ui reference #10749

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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** - значения показателей, которые используются для принятия решения об автобалансировке. Каждый сопровождается цветовым индикатором: зелёный означает, что значение находится на приемлемом уровне; жёлтый - что близко к порогу; красный - что значение превысило порог и сейчас должна быть запущена автобалансировка.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут надо будет иметь ссылку на описание из другого пр #7413

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ставлю пока в драфт, т.к. зависит от этого другого PR в статусе драфт

* **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 | Список типов таблеток, разделённый точкой с запятой | Типы таблеток, на которые не распротраняется автобалансировка

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