规划 StarRocks 集群
本文介绍如何为部署 StarRocks 生产集群规划资源。您需要从节点数、CPU 内核数、内存大小和存储大小的角度规划您的 StarRocks 集群。
节点数量
StarRocks 主要由两种类型的组件组成:FE 节点和 BE 节点。每个节点必须单独部署在物理机或虚拟机上。
FE 节点数量
FE 节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。
对于 StarRocks 生产集群,建议您至少部署三个 Follower FE 节点,以防止单点故障。Leader FE 会从 Follower FE 中自动选出。
StarRocks 通过 Raft 协议跨 FE 节点管理元数据。StarRocks 从所有 Follower FE 节点中选出一个 Leader FE 节点。只有 Leader FE 节点可以写入元数据,其他 Follower FE 节点只能根据 Leader FE 节点的日志更新元数据。如果 Leader FE 节点掉线,只要超过半数的 Follower FE 节点存活,StarRocks 就会重新选举出一个新的 Leader FE 节点。
如果您的应用程序会产生高并发查询请求,您可以在集群中添加 Observer FE 节点。Observer FE 节点只负责处理查询请求,不会参与 Leader FE 节点的选举。
BE 节点数量
BE 节点负责数据存储和 SQL 执行。
对于 StarRocks 生产集群,建议您至少部署三个 BE 节点,这些节点会自动形成一个 BE 高可用集群,避免由于发生单点故障而影响数据可靠性和服务可用性。
您可以通过增加 BE 节点的数量来实现查询的高并发。
CN 节点数量
CN 节点是 StarRocks 的可选组件,仅负责 SQL 执行。
您可以通过增加 CN 节点数量以弹性扩展计算资源,而无需改变集群中的数据分布。
CPU 和内存
通常,FE 服务不会消耗大量的 CPU 和内存资源。建议您为每个 FE 节点分配 8 个 CPU 内核和 16 GB RAM。