跳到主要内容
版本: 最新版本-3.5

弹性伸缩

本主题介绍如何纵向和横向扩展 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 节点 – DROPDECOMMISSION

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'; 查看节点信息。