TIKV_REGION_PEERS

TIKV_REGION_PEERS 表提供了 TiKV 中单个 Region 节点的详细信息,比如它是一个 learner 还是一个 leader。

  1. USE information_schema;
  2. DESC tikv_region_peers;
  1. +--------------+-------------+------+------+---------+-------+
  2. | Field | Type | Null | Key | Default | Extra |
  3. +--------------+-------------+------+------+---------+-------+
  4. | REGION_ID | bigint(21) | YES | | NULL | |
  5. | PEER_ID | bigint(21) | YES | | NULL | |
  6. | STORE_ID | bigint(21) | YES | | NULL | |
  7. | IS_LEARNER | tinyint(1) | NO | | 0 | |
  8. | IS_LEADER | tinyint(1) | NO | | 0 | |
  9. | STATUS | varchar(10) | YES | | 0 | |
  10. | DOWN_SECONDS | bigint(21) | YES | | 0 | |
  11. +--------------+-------------+------+------+---------+-------+
  12. 7 rows in set (0.01 sec)

例如,使用以下 SQL 语句,你可以查询 WRITTEN_BYTES 最大的前 3 个 Region 所在的 TiKV 地址:

  1. SELECT
  2. address,
  3. tikv.address,
  4. region.region_id
  5. FROM
  6. tikv_store_status tikv,
  7. tikv_region_peers peer,
  8. (SELECT * FROM tikv_region_status ORDER BY written_bytes DESC LIMIT 3) region
  9. WHERE
  10. region.region_id = peer.region_id
  11. AND peer.is_leader = 1
  12. AND peer.store_id = tikv.store_id;

TIKV_REGION_PEERS 表各列含义如下:

  • REGION_ID:REGION 的 ID。
  • PEER_ID:REGION 中对应的副本 PEER 的 ID。
  • STORE_ID:REGION 所在 TiKV Store 的 ID。
  • IS_LEARNER:PEER 是否是 LEARNER。
  • IS_LEADER:PEER 是否是 LEADER。
  • STATUS:PEER 的状态,一共有 3 种状态:
    • PENDING:暂时不可用状态。
    • DOWN:下线转态,该 PEER 不再提供服务。
    • NORMAL: 正常状态。
  • DOWN_SECONDS:处于下线状态的时间,单位是秒。