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の状態を確認できます。