に最終更新
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_priv | Database | テーブル、パーティション、システムレベルのコマンドの管理など、データベースに対する管理操作の実行に必要です。 |
例
-
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");