弹性伸缩
本主题介绍如何纵向和横向扩展 StarRocks 的节点。
纵向和横向扩展 FE
StarRocks 有两种类型的 FE 节点:Follower 和 Observer。 Follower 参与选举投票和写入。 Observer 仅用于同步日志和扩展读取性能。
- Follower FE(包括 leader)的数量必须是奇数,建议部署 3 个以形成高可用性 (HA) 模式。
- 当 FE 处于高可用性部署(1 个 leader,2 个 follower)时,建议添加 Observer FE 以获得更好的读取性能。 * 通常一个 FE 节点可以与 10-20 个 BE 节点一起工作。建议 FE 节点总数小于 10。 在大多数情况下,三个就足够了。
横向扩展 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 节点 – 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";
Drop backend 是一项危险的操作,因此您需要在执行前确认两次
alter system drop backend "be_host:be_heartbeat_service_port";
纵向和横向扩展 CN
横向扩展 CN
运行以下命令以横向扩展 CN。
ALTER SYSTEM ADD COMPUTE NODE "cn_host:cn_heartbeat_service_port";
运行以下命令以检查 CN 状态。
SHOW PROC '/compute_nodes';
纵向扩展 CN
CN 纵向扩展与横向扩展类似。 运行以下命令以纵向扩展 CN。
ALTER SYSTEM DROP COMPUTE NODE "cn_host:cn_heartbeat_service_port";
您可以通过运行 SHOW PROC '/compute_nodes';
查看节点信息。