メインコンテンツまでスキップ
に最終更新

ADMIN SET REPLICA STATUS

説明​

このステートメントは、指定したレプリカの状態を設定します。現在は、特定のレプリカの状態を手動で BAD、DROP、または OK に設定し、システムによるレプリカの自動修復を促すためにのみ使用します。

構文​

ADMIN SET REPLICA STATUS 
PROPERTIES ("tablet_id"="<tablet_id>","backend_id"="<backend_id>","status"="<status>")

必須パラメータ​

1. <tablet_id>

状態を設定するレプリカが属するタブレットの ID。

2. <backend_id>

レプリカが配置されている BE ノードの ID。

3. <status>

現在サポートされている値は "drop"、"bad"、"ok" のみです。 指定したレプリカが存在しない場合、またはすでに BAD 状態の場合、操作は無視されます。

注意事項:

  • レプリカを BAD 状態に設定する

    BAD とマークされたレプリカは読み書きできません。ただし、BAD に設定しても、必ずしもその状態が維持されるとは限りません。レプリカの実際のデータが正しく、BE がそのレプリカの状態を OK と報告した場合、FE はレプリカの状態を自動的に OK に戻します。この操作によってレプリカがすぐに削除される場合があるため、注意して実行してください。

  • レプリカを DROP 状態に設定する

    DROP とマークされたレプリカは引き続き読み書きできます。システムは、DROP 状態のレプリカを削除する前に、別のマシンに正常なレプリカを追加します。BAD に設定する場合と比べて、DROP に設定する方が安全です。

アクセス制御要件​

この SQL コマンドを実行するユーザーには、少なくとも次の権限が必要です。

権限オブジェクト説明
Admin_privDatabaseテーブル、パーティション、システムレベルのコマンドの管理など、データベースに対する管理操作の実行に必要です。

例​

  • BE 10001 上のタブレット 10003 のレプリカを bad に設定する

    ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "bad");
  • BE 10001 上のタブレット 10003 のレプリカを drop に設定する

    ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "drop");
  • BE 10001 上のタブレット 10003 のレプリカを ok に設定する

    ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "ok");