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

Scale in and out

スケールインとスケールアウト

このトピックでは、StarRocksのノードのスケールインとスケールアウトの方法について説明します。

FEノードのスケールインとスケールアウト

StarRocksには、FollowerとObserverの2種類のFEノードがあります。Followerは選挙投票と書き込みに関与します。Observerはログの同期と読み取りパフォーマンスの向上に使用されます。

  • Follower FEの数(リーダーを含む)は奇数でなければならず、3つのノードを展開して高可用性(HA)モードを形成することを推奨します。
  • FEが高可用性デプロイメント(リーダー1つ、フォロワー2つ)の場合、読み取り性能を向上させるためにObserver FEを追加することを推奨します。
  • 通常、1つのFEノードは10〜20のBEノードと連携して動作します。FEノードの総数は10以下にすることを推奨します。多くの場合、3つのノードで十分です。

FEノードのスケールアウト

FEノードを展開し、サービスを開始した後、次のコマンドを実行してFEをスケールアウトします。

alter system add follower "fe_host:edit_log_port";
alter system add observer "fe_host:edit_log_port";

FEノードのスケールイン

FEノードのスケールインもスケールアウトと同様です。次のコマンドを実行してFEをスケールインします。

alter system drop follower "fe_host:edit_log_port";
alter system drop observer "fe_host:edit_log_port";

拡張および縮小後、show proc '/frontends' を実行してノードの情報を確認できます。

BEノードのスケールインとスケールアウト

BEがスケールインまたはスケールアウトされると、StarRocksは全体のパフォーマンスに影響を与えることなく、自動的に負荷分散を行います。

BEノードのスケールアウト

次のコマンドを実行してBEをスケールアウトします。

alter system add backend 'be_host:be_heartbeat_service_port';

BEの状態を確認するには、次のコマンドを実行します。

show proc '/backends';

BEノードのスケールイン

BEノードをスケールインするには2つの方法があります - 「DROP」と「DECOMMISSION」です。

「DROP」はBEノードを即座に削除し、失われた複製はFEスケジューリングによって補完されます。「DECOMMISSION」は、まず複製が補完され、その後にBEノードが削除されることを保証します。「DECOMMISSION」は少しフレンドリーであり、BEのスケールインには推奨されます。

両方の方法のコマンドは似ています:

  • alter system decommission backend "be_host:be_heartbeat_service_port";
  • alter system drop backend "be_host:be_heartbeat_service_port";

BEの削除は危険な操作ですので、実行する前に2回確認する必要があります。

  • alter system drop backend "be_host:be_heartbeat_service_port";

スケールアウトまたはスケールインの後、クラスターステータスを参照してFEとBEの状態を確認できます。