CHANGE DRAINER

CHANGE DRAINER 语句用于修改集群中 Drainer 的状态信息。

注意:

Drainer 在正常运行时会自动上报状态到 PD,仅在 Drainer 处于异常情况导致实际状态与 PD 中保存的状态信息不一致时,使用该语句修改 PD 中存储的 Drainer 状态信息。

示例

  1. SHOW DRAINER STATUS;
  1. +----------|----------------|--------|--------------------|---------------------|
  2. | NodeID | Address | State | Max_Commit_Ts | Update_Time |
  3. +----------|----------------|--------|--------------------|---------------------|
  4. | drainer1 | 127.0.0.3:8249 | Online | 408553768673342532 | 2019-04-30 00:00:03 |
  5. +----------|----------------|--------|--------------------|---------------------|
  6. | drainer2 | 127.0.0.4:8249 | Online | 408553768673345531 | 2019-05-01 00:00:04 |
  7. +----------|----------------|--------|--------------------|---------------------|
  8. 2 rows in set (0.00 sec)

可以看出 drainer1 已经超过一天没有更新状态,该 Drainer 处于异常状态,但是 State 仍然为 Online,使用 CHANGE DRAINER 将该 Drainer 状态修改为 paused

  1. CHANGE DRAINER TO NODE_STATE ='paused' FOR NODE_ID 'drainer1';
  1. Query OK, 0 rows affected (0.01 sec)
  1. SHOW DRAINER STATUS;
  1. +----------|----------------|--------|--------------------|---------------------|
  2. | NodeID | Address | State | Max_Commit_Ts | Update_Time |
  3. +----------|----------------|--------|--------------------|---------------------|
  4. | drainer1 | 127.0.0.3:8249 | Paused | 408553768673342532 | 2019-04-30 00:00:03 |
  5. +----------|----------------|--------|--------------------|---------------------|
  6. | drainer2 | 127.0.0.4:8249 | Online | 408553768673345531 | 2019-05-01 00:00:04 |
  7. +----------|----------------|--------|--------------------|---------------------|
  8. 2 rows in set (0.00 sec)

MySQL 兼容性

该语句是 TiDB 对 MySQL 语法的扩展。

另请参阅