メインコンテンツまでスキップ

ALTER SYSTEM

ALTER SYSTEM

説明

クラスタ内のFE、BE、CN、Brokerノード、およびメタデータのスナップショットを管理します。

注意

cluster_adminロールのみがこのSQLステートメントを実行する権限を持ちます。

構文とパラメータ

FE

  • Follower FEを追加します。

    ALTER SYSTEM ADD FOLLOWER "<fe_host>:<edit_log_port>"[, ...]

    新しいFollower FEのステータスは、SHOW PROC '/frontends'\Gを実行して確認できます。

  • Follower FEを削除します。

    ALTER SYSTEM DROP FOLLOWER "<fe_host>:<edit_log_port>"[, ...]
  • Observer FEを追加します。

    ALTER SYSTEM ADD OBSERVER "<fe_host>:<edit_log_port>"[, ...]

    新しいObserver FEのステータスは、SHOW PROC '/frontends'\Gを実行して確認できます。

  • Observer FEを削除します。

    ALTER SYSTEM DROP OBSERVER "<fe_host>:<edit_log_port>"[, ...]

パラメータ

必須

説明

fe_host

Yes

FEインスタンスのホスト名またはIPアドレスです。インスタンスが複数のIPアドレスを持つ場合は、構成項目priority_networksの値を使用します。

edit_log_port

Yes

FEノードのBDB JE通信ポートです。デフォルト値: 9010

BE

  • BEノードを追加します。

    ALTER SYSTEM ADD BACKEND "<be_host>:<heartbeat_service_port>"[, ...]

    新しいBEのステータスは、SHOW BACKENDSを実行して確認できます。

  • BEノードを削除します。

    注意

    シングルレプリカテーブルのタブレットを保存しているBEノードは削除できません。

    ALTER SYSTEM DROP BACKEND "<be_host>:<heartbeat_service_port>"[, ...]
  • BEノードをデコミッションします。

    ALTER SYSTEM DECOMMISSION BACKEND "<be_host>:<heartbeat_service_port>"[, ...]

    BEノードを削除する場合は、クラスタから強制的に削除しますが、BEノードのデコミッションは安全な削除方法です。デコミッションは非同期操作です。BEがデコミッションされると、BE上のデータは他のBEに移行され、その後BEはクラスタから削除されます。データのロードやクエリの影響はありません。SHOW BACKENDSを使用して操作の成否を確認できます。操作が成功すると、デコミッションされたBEは返されません。操作が失敗すると、BEはオンラインのままです。CANCEL DECOMMISSIONを使用して、操作を手動でキャンセルすることができます。

パラメータ

必須

説明

be_host

Yes

BEインスタンスのホスト名またはIPアドレスです。インスタンスが複数のIPアドレスを持つ場合は、構成項目priority_networksの値を使用します。

heartbeat_service_port

Yes

BEのハートビートサービスポートです。BEはこのポートを使用してFEからのハートビートを受信します。デフォルト値: 9050

CN

  • CNノードを追加します。
    ALTER SYSTEM ADD COMPUTE NODE "<cn_host>:<heartbeat_service_port>"[, ...]
    新しいCNのステータスは、SHOW COMPUTE NODESを実行して確認できます。
  • CNノードを削除します。
    ALTER SYSTEM DROP COMPUTE NODE "<cn_host>:<heartbeat_service_port>"[, ...]

パラメータ

必須

説明

cn_host

Yes

CNインスタンスのホスト名またはIPアドレスです。インスタンスが複数のIPアドレスを持つ場合は、構成項目priority_networksの値を使用します。

heartbeat_service_port

Yes

CNのハートビートサービスポートです。CNはこのポートを使用してFEからのハートビートを受信します。デフォルト値: 9050

Broker

  • Brokerノードを追加します。Brokerノードを使用することで、HDFSやクラウドストレージからStarRocksにデータをロードすることができます。詳細については、HDFSからデータをロードするまたはクラウドストレージからデータをロードするを参照してください。
    ALTER SYSTEM ADD BROKER <broker_name> "<broker_host>:<broker_ipc_port>"[, ...]
    1つのSQLで複数のBrokerノードを追加できます。各<broker_host>:<broker_ipc_port>ペアは1つのBrokerノードを表します。そして、それらは共通のbroker_nameを共有します。新しいBrokerノードのステータスは、SHOW BROKERを実行して確認できます。
  • Brokerノードを削除します。

注意

Brokerノードを削除すると、現在実行中のタスクが停止します。

  • 同じbroker_nameを持つ1つまたは複数のBrokerノードを削除します。

    ALTER SYSTEM DROP BROKER <broker_name> "<broker_host>:<broker_ipc_port>"[, ...]
  • 同じbroker_nameを持つすべてのBrokerノードを削除します。

    ALTER SYSTEM DROP ALL BROKER <broker_name>

パラメータ

必須

説明

broker_name

Yes

Brokerノードの名前です。複数のBrokerノードが同じ名前を使用することができます。

broker_host

Yes

Brokerインスタンスのホスト名またはIPアドレスです。インスタンスが複数のIPアドレスを持つ場合は、構成項目priority_networksの値を使用します。

broker_ipc_port

Yes

Brokerノード上のThriftサーバーポートです。BrokerノードはFEまたはBEからのリクエストを受信するために使用します。デフォルト値: 8000

画像の作成

画像ファイルを作成します。画像ファイルはFEメタデータのスナップショットです。

ALTER SYSTEM CREATE IMAGE

画像の作成は、リーダーFE上の非同期操作です。操作の開始時間と終了時間は、FEのログファイルfe.logで確認できます。triggering a new checkpoint manually...のようなログは、画像の作成が開始されたことを示し、finished save image...のようなログは、画像が作成されたことを示します。

注意事項

  • FE、BE、CN、Brokerノードの追加と削除は同期操作です。ノードの削除操作はキャンセルできません。
  • シングルFEクラスタでは、FEノードを削除することはできません。
  • マルチFEクラスタでは、リーダーFEノードを直接削除することはできません。削除するには、まずリーダーFEノードを再起動する必要があります。StarRocksが新しいリーダーFEを選出した後、以前のリーダーFEを削除できます。
  • データレプリカの数よりも残りのBEノードの数が少ない場合、BEノードを削除することはできません。たとえば、クラスタに3つのBEノードがあり、データを3つのレプリカに保存している場合、BEノードをいずれか1つも削除することはできません。そして、BEノードが4つあり、レプリカが3つの場合、1つのBEノードを削除できます。
  • BEノードの削除とデコミッションの違いは、BEノードを削除すると、StarRocksがクラスタから強制的に削除し、削除後に落ちたタブレットを補完することです。一方、BEノードをデコミッションする場合、StarRocksはまずデコミッションされるBEノード上のタブレットを他のBEノードに移行し、その後ノードを削除します。

例1: Follower FEノードを追加します。

ALTER SYSTEM ADD FOLLOWER "x.x.x.x:9010";

例2: 同時に2つのObserver FEノードを削除します。

ALTER SYSTEM DROP OBSERVER "x.x.x.x:9010","x.x.x.x:9010";

例3: BEノードを追加します。

ALTER SYSTEM ADD BACKEND "x.x.x.x:9050";

例4: 同時に2つのBEノードを削除します。

ALTER SYSTEM DROP BACKEND "x.x.x.x:9050", "x.x.x.x:9050";

例5: 同時に2つのBEノードをデコミッションします。

ALTER SYSTEM DECOMMISSION BACKEND "x.x.x.x:9050", "x.x.x.x:9050";

例6: 同じbroker_namehdfs)で2つのBrokerノードを追加します。

ALTER SYSTEM ADD BROKER hdfs "x.x.x.x:8000", "x.x.x.x:8000";

例7: amazon_s3から2つのBrokerノードを削除します。

ALTER SYSTEM DROP BROKER amazon_s3 "x.x.x.x:8000", "x.x.x.x:8000";

例8: amazon_s3のすべてのBrokerノードを削除します。

ALTER SYSTEM DROP ALL BROKER amazon_s3;