Мониторинг кластера¶
В данном разделе приведена информация о мониторинге запущенного кластера Picodata.
Мониторинг состояния кластера возможен после подключения к кластеру в консоли. После этого можно использовать команды, показывающие состояние raft-группы, отдельных инстансов, собранных из них репликасетов и т.д.
Получение лидера raft-группы¶
Узнать лидера raft-группы, а также ID и статус текущего инстанса:
pico.raft_status()
Пример вывода:
---
- term: 2
leader_id: 1
raft_state: Leader
id: 1
...
Получение состава raft-группы¶
Просмотр состава raft-группы и данных инстансов:
box.space._pico_instance:fselect()
Пример вывода:
---
- - +-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
- |instance_id| instance_uuid |raft_id|replicaset_id| replicaset_uuid |current_grade|target_grade|failure_domain|
- +-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
- | "i1" |"68d4a766-4144-3248-aeb4-e212356716e4"| 1 | "r1" |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"|["Online",1] |["Online",1]| {} |
- | "i2" |"24c4ac5f-4981-3441-879c-aee1edb608a6"| 2 | "r1" |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"|["Online",1] |["Online",1]| {} |
- | "i3" |"5d7a7353-3e82-30fd-af0d-261436544389"| 3 | "r2" |"eff4449e-feb2-3d73-87bc-75807cb23191"|["Online",1] |["Online",1]| {} |
- | "i4" |"826cbe5e-6979-3191-9e22-e39deef142f0"| 4 | "r2" |"eff4449e-feb2-3d73-87bc-75807cb23191"|["Online",1] |["Online",1]| {} |
- +-----------+--------------------------------------+-------+-------------+--------------------------------------+-------------+------------+--------------+
...
Можно отдельно посмотреть список репликасетов, их UUID и вес:
box.space._pico_replicaset:fselect()
Пример вывода:
---
- — +-------------+--------------------------------------+---------+------+
- |replicaset_id| replicaset_uuid |master_id|weight|
- +-------------+--------------------------------------+---------+------+
- | "r1" |"e0df68c5-e7f9-395f-86b3-30ad9e1b7b07"| "i1" | 1 |
- | "r2" |"eff4449e-feb2-3d73-87bc-75807cb23191"| "i3" | 1 |
- +-------------+--------------------------------------+---------+------+
...
Таблицы выше позволяют узнать текущий и целевой уровень (grade)
каждого инстанса, а также вес (weight
) репликасета. Уровни отражают
конфигурацию остальных инстансов относительно текущего, а вес
репликасета — его наполненность репликами согласно фактору репликации
(см. подробнее). Вес репликасета определяет его
приоритет при распределении бакетов с данными.
Получение версии схемы данных¶
Узнать текущую версию схему данных можно с помощью команды:
box.space._pico_property:get("current_schema_version")
---
- ['current_schema_version', 1]
...
Каждое изменение схемы данных в кластере приводит к увеличению этого номера.
Подробнее о работе с данными в Picodata см. в разделе Работа с данными SQL.