存算分离集群能力边界
以下列出的所有功能均已列出其引入版本。如果您想搭建新的存算分离集群,推荐您部署 v3.2 或以上的最新小版本。
概述
StarRocks 存算分离集群采用了存储计算分离架构,将数据存储在远程存储中,从而降低存储成本、优化资源隔离并加强集群的弹性扩展能力。
本文介绍了存算分离功能的能力边界,涵盖了部署方法、存储配置、缓存机制、Compaction、主键表功能和性能测试等。
部署
存算分离集群支持在物理或虚拟机上部署以及通过 Operator 在 Kubernetes 上部署。
两种部署方案均有以下限制:
- 不支持混合部署存算一体模式和存算分离模式。
- 不支持从存算一体集群转换为存算分离集群,反之亦然。
- 不支持异构部署,即集群内所有 CN 节点的硬件规格必须相同。
StarRocks Kubernetes Operator
StarRocks 提供用于在 Kubernetes 上部署存算分离集群的 StarRocks Kubernetes Operator。
您可以通过以下方法扩缩容存算分离集群:
- 手动扩缩容。
- 使用 Kubernetes HPA(Horizontal Pod Autoscaler)策略自动扩缩容。
存储
存算分离集群支持在 HDFS 和对象存储上构建存储卷。
HDFS
Location
StarRocks 支持以下 HDFS 存储卷 Location:
-
HDFS:
hdfs://<host>:<port>/
说明
从 v3.2 起,存储卷支持启用 NameNode HA 模式的 HDFS 集群。
-
WebHDFS(从 v3.2 起支持):
webhdfs://<host>:<http_port>/
-
ViewFS(从 v3.2 起支持):
viewfs://<ViewFS_cluster>/
认证
StarRocks 支持以下 HDFS 存储卷的认证方式:
-
Basic
-
Username(从 v3.2 起支持)
-
Kerberos Ticket Cache(从 v3.2 起支持)
说明
StarRocks 不支持自动刷新 Ticket。您需要设置 crontab 任务来刷新 Ticket。
暂不支持使用 Kerberos Keytab 和 Principal ID 进行认证。
使用说明
StarRocks 支持基于 HDFS 和对象存储创建存储卷,但每个 StarRocks 实例中只允许创建一个 HDFS 存储卷。创建多个 HDFS 存储卷可能会导致 StarRocks 出现未知行为。
对象存储
Location
StarRocks 支持以下对象存储服务的存储卷:
- 兼容 S3 协议的对象存储服务:
s3://<s3_path>
- AWS S3
- GCS、OSS、OBS、COS、TOS、KS3、MinIO 和 Ceph S3
- Azure Blob Storage(从 v3.1.1 起支持):
azblob://<azblob_path>
认证
针对不同对象存储服务,StarRocks 支持以下认证方式:
- AWS S3
- AWS SDK
- IAM user-based Credential
- Instance Profile
- Assumed Role
- GCS、OSS、OBS、COS、TOS、KS3、MinIO 和 Ceph S3
- 访问密钥
- Azure Blob Storage
- Shared Key
- Shared Access Signatures(SAS)