Перейти к основному содержимому
Перейти к основному содержимому

system.replicas

Описание

Содержит информацию и состояние реплицируемых таблиц, расположенных на локальном сервере. Эту таблицу можно использовать для мониторинга. Таблица содержит по одной строке для каждой таблицы Replicated*.

Столбцы

  • database (String) — Имя базы данных.
  • table (String) — имя таблицы.
  • uuid (UUID) — UUID-идентификатор таблицы.
  • engine (String) — Название движка таблицы.
  • is_leader (UInt8) — Является ли реплика лидером. Несколько реплик могут одновременно быть лидерами. Реплике можно запретить становиться лидером с помощью настройки merge_tree replicated_can_become_leader. Лидеры отвечают за планирование фоновых слияний. Обратите внимание, что записывать данные можно в любую доступную реплику, у которой есть сеанс в ZK, независимо от того, является ли она лидером.
  • can_become_leader (UInt8) — Может ли реплика стать лидером.
  • is_readonly (UInt8) — Находится ли реплика в режиме только для чтения. Этот режим включается, если в конфигурации отсутствуют разделы ClickHouse Keeper, если при повторной инициализации сеансов в ClickHouse Keeper произошла неизвестная ошибка, а также во время повторной инициализации сеансов в ClickHouse Keeper.
  • readonly_start_time (Nullable(DateTime)) — Таймстамп момента, когда реплика перешла в режим только для чтения. NULL, если реплика не находится в режиме только для чтения.
  • is_session_expired (UInt8) — Истёк ли срок действия сеанса ClickHouse Keeper. По сути, это то же самое, что и is_readonly.
  • future_parts (UInt32) — Количество частей данных, которые появятся в результате ещё не выполненных операций INSERT или слияний.
  • parts_to_check (UInt32) — Количество частей данных в очереди проверки. Часть помещается в очередь проверки, если есть подозрение, что она может быть повреждена.
  • zookeeper_name (String) — Имя кластера [Zoo]Keeper (возможно, вспомогательного), где хранятся метаданные таблицы
  • zookeeper_path (String) — Путь к данным таблицы в ClickHouse Keeper.
  • replica_name (String) — Имя реплики в ClickHouse Keeper. У разных реплик одной таблицы разные имена.
  • replica_path (String) — Путь к данным реплики в ClickHouse Keeper. То же, что объединение 'zookeeper_path/replicas/replica_path'.
  • columns_version (Int32) — Номер версии структуры таблицы. Показывает, сколько раз был выполнен ALTER. Если у реплик разные версии, это означает, что некоторые из них ещё не выполнили все ALTER.
  • queue_size (UInt32) — Размер очереди операций, ожидающих выполнения. К таким операциям относятся вставка блоков данных, слияния и некоторые другие действия. Обычно совпадает с future_parts.
  • inserts_in_queue (UInt32) — Количество вставок блоков данных, которые нужно выполнить. Обычно такие вставки реплицируются довольно быстро. Если это число велико, значит, что-то не так.
  • merges_in_queue (UInt32) — Количество слияний, ожидающих выполнения. Иногда слияния занимают много времени, поэтому это значение может оставаться больше нуля в течение длительного времени.
  • part_mutations_in_queue (UInt32) — Количество мутаций в очереди на выполнение.
  • queue_oldest_time (DateTime) — если queue_size больше 0, показывает, когда в очередь была добавлена самая старая операция.
  • inserts_oldest_time (DateTime) — см. queue_oldest_time.
  • merges_oldest_time (DateTime) — См. queue_oldest_time.
  • part_mutations_oldest_time (DateTime) — См. queue_oldest_time.
  • oldest_part_to_get (String) — Имя части, которую нужно получить с других реплик; берётся из самой старой записи GET_PARTS в очереди репликации.
  • oldest_part_to_merge_to (String) — Имя результирующей части, в которую выполняется слияние, полученное из самой старой записи MERGE_PARTS в очереди репликации.
  • oldest_part_to_mutate_to (String) — Имя результирующей части, до которой должна быть выполнена мутация, полученное из самой старой записи MUTATE_PARTS в очереди репликации.
  • log_max_index (UInt64) — Максимальный номер записи в журнале общей активности. Этот столбец и следующие три (log_pointer, total_replicas, active_replicas) имеют ненулевое значение только при наличии активной сессии с ClickHouse Keeper.
  • log_pointer (UInt64) — Максимальный номер записи в журнале общей активности, которую реплика скопировала в свою очередь на выполнение, плюс один. Если log_pointer значительно меньше, чем log_max_index, значит, что-то не так.
  • last_queue_update (DateTime) — Время последнего обновления очереди.
  • absolute_delay (UInt64) — Величина задержки текущей реплики в секундах.
  • total_replicas (UInt32) — Общее число известных реплик этой таблицы.
  • active_replicas (UInt32) — Количество реплик этой таблицы, у которых есть сеанс в ClickHouse Keeper (то есть количество работающих реплик).
  • lost_part_count (UInt64) — Суммарное количество частей, потерянных в таблице всеми репликами с момента создания таблицы. Значение сохраняется в ClickHouse Keeper и может только увеличиваться.
  • last_queue_update_exception (String) — Когда очередь содержит повреждённые записи. Это особенно важно, если ClickHouse нарушает обратную совместимость между версиями и записи журнала, созданные более новыми версиями, не могут быть разобраны старыми версиями.
  • zookeeper_exception (String) — Сообщение о последнем исключении, которое возвращается, если ошибка возникла при получении информации из ClickHouse Keeper.
  • replica_is_active (Map(String, UInt8)) — соответствие между именем реплики и признаком того, активна ли реплика.

Псевдонимы:

  • readonly_duration — псевдоним для if(isNull(readonly_start_time), NULL, now() - readonly_start_time).

Пример

SELECT *
FROM system.replicas
WHERE table = 'test_table'
FORMAT Vertical
Query id: dc6dcbcb-dc28-4df9-ae27-4354f5b3b13e

Row 1:
───────
database:                    db
table:                       test_table
engine:                      ReplicatedMergeTree
is_leader:                   1
can_become_leader:           1
is_readonly:                 0
is_session_expired:          0
future_parts:                0
parts_to_check:              0
zookeeper_path:              /test/test_table
replica_name:                r1
replica_path:                /test/test_table/replicas/r1
columns_version:             -1
queue_size:                  27
inserts_in_queue:            27
merges_in_queue:             0
part_mutations_in_queue:     0
queue_oldest_time:           2021-10-12 14:48:48
inserts_oldest_time:         2021-10-12 14:48:48
merges_oldest_time:          1970-01-01 03:00:00
part_mutations_oldest_time:  1970-01-01 03:00:00
oldest_part_to_get:          1_17_17_0
oldest_part_to_merge_to:
oldest_part_to_mutate_to:
log_max_index:               206
log_pointer:                 207
last_queue_update:           2021-10-12 14:50:08
absolute_delay:              99
total_replicas:              5
active_replicas:             5
lost_part_count:             0
last_queue_update_exception:
zookeeper_exception:
replica_is_active:           {'r1':1,'r2':1}