diff --git a/ydb/docs/ru/core/reference/embedded-ui/hive.md b/ydb/docs/ru/core/reference/embedded-ui/hive.md index f6b1369c0c59..6b677c177fe2 100644 --- a/ydb/docs/ru/core/reference/embedded-ui/hive.md +++ b/ydb/docs/ru/core/reference/embedded-ui/hive.md @@ -1,8 +1,7 @@ # Hive web-viewer Web-viewer Hive предоставляет интерфейс работы с Hive. -Hive бывает общим на кластер и тенантный. -Попасть на страницу Web-viewer Hive можно из {{ ydb-short-name }} Monitoring. +Попасть на страницу Web-viewer Hive можно из вкладки Tablets в {{ ydb-short-name }} Monitoring. ## Главная страница @@ -10,12 +9,19 @@ Hive бывает общим на кластер и тенантный. Перед таблицей представлена краткая информация: -* **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 и имеет следующие столбцы: @@ -27,7 +33,7 @@ Hive бывает общим на кластер и тенантный. * **Unknown** - количество таблеток в неопределенном состоянии * **Starting** - количество таблеток в процессе подъема * **Running** - количество работающих таблеток -* **Types** - распределение таблеток по их типу +* **Types** - распределение таблеток по их типу. С помощью нажатия на конкретный тип можно запретить запускать таблетки данного типа на конкретном узле. Нажатием на тип в верху таблицы можно установить такой запрет на все узлы по умолчанию. * **Usage** - отнормированный доминантный ресурс * **Resources** : @@ -48,11 +54,14 @@ Hive бывает общим на кластер и тенантный. * **Waiting tablets** - список таблеток без возможности подняться * **Resources** - потребление ресурсов каждой таблеткой * **Tenants** - список тенантов с указанием их локальных Hive таблеток +* **Balancer** - меню для ручного запуска автобалансировки +* **Operations log** - лог ручных изменений конфигураций Hive через viewer * **Nodes** - список узлов * **Storage** - список пулов групп хранения * **Groups** - список групп хранения для каждой таблетки * **Settings** - страница конфигураций Hive * **Reassign Groups** - страница перераспределения групп хранения между таблетками +* **SubActors** - список запущенных в данный момент вспомогательных акторов Также можно посмотреть, какие таблетки используют конкретную группу, и наоборот, какие группы используются в конкретной таблетке. @@ -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 | Список типов таблеток, разделённый точкой с запятой | Типы таблеток, на которые не распротраняется автобалансировка + +Также на этой странице можно управлять тем, какие метрики учитыаются для каких типов таблеток.