手动部署存算分离 StarRocks
本文介绍如何手动部署 StarRocks 存算分离集群。其他安装方式请参考部署概览。
如果要部署存算一体集群(BE 同时做数据存储和计算),参见 手动部 署存算一体 StarRocks。
概述
StarRocks 存算分离集群采用了存储计算分离架构,特别为云存储设计。在存算分离的模式下,StarRocks 将数据存储在远程存储(例如 HDFS、AWS S3、GCS、OSS、Azure Blob、Azure Data Lake Storage 以及 MinIO)中,而本地盘作为热数据缓存,用以加速查询。通过存储计算分离架构,您可以降低存储成本并且优化资源隔离。除此之外,集群的弹性扩展能力也得以加强。在查询命中缓存的情况下,存算分离集群的查询性能与存算一体集群性能一致。
StarRocks 存算分离集群由 FE 和 CN 组成。CN 取代了存算一体集群中的 BE。
相对存算一体架构,StarRocks 的存储计算分离架构提供以下优势:
- 廉价且可无缝扩展的存储。
- 弹性可扩展的计算能力。由于数据不存储在 CN 节点中,因此集群无需进行跨节点数据迁移或 Shuffle 即可完成扩缩容。
- 热数据的本地磁盘缓存,用以提高查询性能。
- 可选异步导入数据至远程存储,提高导入效率。
存算分离集群的架构如下:

第一步:启动 Leader FE 节点
以下操作在 FE 实例上执行。
-
创 建元数据存储路径。建议将元数据存储在与 FE 部署文件不同的路径中。请确保此路径存在并且您拥有写入权限。
# 将 <meta_dir> 替换为您要创建的元数据目录。
mkdir -p <meta_dir> -
进入先前准备好的 StarRocks FE 部署文件所在路径,修改 FE 配置文件 fe/conf/fe.conf。
a. 设定存算分离运行模式。
run_mode = shared_datab. 在配置项
meta_dir中指定元数据路径。# 将 <meta_dir> 替换为您已创建的元数据目录。
meta_dir = <meta_dir>c. 如果任何在 环境配置清单 中提到的 FE 端口被占用,您必须在 FE 配置文件中为其分配其他可用端口。
http_port = aaaa # 默认值:8030
rpc_port = bbbb # 默认值:9020
query_port = cccc # 默认值:9030
edit_log_port = dddd # 默认值:9010
cloud_native_meta_port = eeee # 默认值:6090注意
如需在集群中部署多个 FE 节点,您必须为所有 FE 节点分配相同的
http_port。d. 如需为集群启用 IP 地址访问,您必须在配置文件中添加配置项
priority_networks,为 FE 节点分配一个专有的 IP 地址(CIDR格式)。如需为集群启用 FQDN 访问,则可以忽略该配置项。priority_networks = x.x.x.x/x说明
- 您可以在终端中运行
ifconfig以查看当前实例拥有的 IP 地址。 - 从 v3.3.0 开始,StarRocks 支持基于 IPv6 的部署。
e. 如果您的实例安装了多个 JDK,并且您要使用 JDK 与环境变量
JAVA_HOME中指定的不同,则必须在配置文件中添加配置项JAVA_HOME来指定所选该 JDK 的安装路径。# 将 <path_to_JDK> 替换为所选 JDK 的安装路径。
JAVA_HOME = <path_to_JDK>更多高级配置项请参考 参数配置 - FE 配置项。
- 您可以在终端中运行
-
启动 FE 节点。
-
如需为集群启用 IP 地址访问,请运行以下命令启动 FE 节点:
./fe/bin/start_fe.sh --daemon -
如需为集群启用 FQDN 访问,请运行以下命令启动 FE 节点::
./fe/bin/start_fe.sh --host_type FQDN --daemon您只需在第一次启动节点时指定参数
--host_type。注意
如需启用 FQDN 访问,在启动 FE 节点之前,请确保您已经在 /etc/hosts 中为所有实例分配了主机名。有关详细信息,请参考 环境配置清单 - 主机名。
-
-
查看 FE 日志,检查 FE 节点是否启动成功。
cat fe/log/fe.log | grep thrift如果日志打印以下内容,则说明该 FE 节点启动成功:
"2022-08-10 16:12:29,911 INFO (UNKNOWN x.x.x.x_9010_1660119137253(-1)|1) [FeServer.start():52] thrift server started with port 9020."