Plan StarRocks cluster
このトピックでは、ノード数、CPUコア数、メモリサイズ、ストレージサイズの観点から、プロダクション環境での StarRocks クラスターのリソース計画について説明します。
ノード数
StarRocks は主に 2 種類のコンポーネントで構成されています: FE ノードと BE ノード。各ノードは物理または仮想マシンに個別にデプロイする必要があります。
FE ノード数
FE ノードは主にメタデータ管理、クライアント接続管理、クエリプランニング、およびクエリスケジューリングを担当します。
プロダクション環境では、単一障害点 (SPOF) を防ぐために、StarRocks クラスターに少なくとも 3 つ の Follower FE ノードをデプロイすることをお勧めします。Leader FE はこれらの 3 つのフォロワーから自動的に選出されます。
StarRocks は Raft プロトコルを使用して FE ノード間のメタデータを管理します。StarRocks はすべての Follower FE ノードから Leader FE ノードを選出します。メタデータを書き込むことができるのは Leader FE ノードのみです。他の Follower FE ノードは、Leader FE ノードからのログに基づいてメタデータを更新するだけです。Leader FE ノードが障害を起こすたびに、StarRocks は Follower FE ノードの半数以上が生存している限り、新しい Leader FE ノードを再選出します。
アプリケーションが高い同時クエリ要求を生成する場合は、Observer FE ノードをクラスターに追加できます。Observer FE ノードはクエリ要求のみを処理し、Leader FE ノードの選出には参加しません。
BE ノード数
BE ノードはデータストレージと SQL 実行を担当します。
プロダクション環境では、データの高い信頼性とサービスの可用性を確保するために、StarRocks クラスターに少なくとも 3 つ の BE ノードをデプロイすることをお勧めします。少なくとも 3 つの BE ノードがデプロイされ、StarRocks クラスターに追加されると、BEs の高可用性クラスターが自動的に形成されます。1 つの BE ノードが障害を起こしても、BE サービス全体の可用性には影響しません。
StarRocks クラスターが高い同時クエリを処理できるようにするために、BE ノードの数を増やすことができます。
CN ノード数
CN ノードは StarRocks のオプションコンポーネントであり、SQL 実行のみを担当します。
StarRocks クラスター内のデータ分布を変更せずに、計算リソースを弾力的にスケールするために CN ノードの数を 増やすことができます。
CPU とメモリ
通常、FE サービスは多くの CPU およびメモリリソースを消費しません。各 FE ノードに 8 CPU コアと 16 GB RAM を割り当てることをお勧めします。
FE サービスとは異なり、BE サービスは大規模なデータセットで高い同時クエリや複雑なクエリを処理する場合、CPU およびメモリを大幅に消費する可能性があります。したがって、各 BE ノードに 16 CPU コアと 64 GB RAM を割り当てることをお勧めします。
ストレージ容量
FE ストレージ
FE ノードは StarRocks のメタデータのみをストレージに保持するため、ほとんどのシナリオで各 FE ノードに 100 GB の HDD ストレージで十分です。