跳到主要内容

SET REPLICA STATUS

描述

该语句用于设置指定副本的状态。

该命令目前仅用于手动将某些副本状态设置为 BAD、DROP 和 OK,从而使得系统能够自动修复这些副本

语法:

ADMIN SET REPLICA STATUS
PROPERTIES ("key" = "value", ...);

目前支持如下属性:

  1. "tablet_id":必需。指定一个 Tablet Id.
  2. "backend_id":必需。指定 Backend Id.
  3. "status":必需。指定状态。当前仅支持 "drop"、"bad"、 "ok"

如果指定的副本不存在,或状态已经是 bad,则会被忽略。

注意:

设置为 Bad 状态的副本,它将不能读写。另外,设置 Bad 有时是不生效的。如果该副本实际数据是正确的,当 BE 上报该副本状态是 ok 的,fe 将把副本自动恢复回 ok 状态。操作可能立刻删除该副本,请谨慎操作。

设置为 Drop 状态的副本,它仍然可以读写。会在其他机器先增加一个健康副本,再删除该副本。相比设置 Bad,设置 Drop 的操作是安全的。

示例

  1. 设置 tablet 10003 在 BE 10001 上的副本状态为 bad。
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "bad");
  1. 设置 tablet 10003 在 BE 10001 上的副本状态为 drop。
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "drop");
  1. 设置 tablet 10003 在 BE 10001 上的副本状态为 ok。
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "ok");

关键词

ADMIN, SET, REPLICA, STATUS

最佳实践