使用 Helm 部署 StarRocks
目标
本快速入门的目标是:
- 使用 Helm 部署 StarRocks Kubernetes Operator 和 StarRocks 集群
- 为 StarRocks 数据库用户
root
配置密码 - 通过部署三个 FE 和三个 BE 保证高可用性
- 在持久化存储中存储元数据
- 在持久化存储中存储数据
- 通过 MySQL 客户端从外部连接 Kubernetes 集群
- 通过 Stream Load 从外部向 Kubernetes 集群中导入数据
- 导入公共数据集
- 查询数据
本教程中的数据集和查询与基础快速入门中使用的相同。主要区别在于使用 Helm 和 StarRocks Operator 部署。
使用的数据由 NYC OpenData 和美国国家环境信息中心提供。
这些数据集都很大,因为本教程旨在帮助您熟悉使用 StarRocks,所以不会导入过去 120 年的数据。推荐您使用三个 e2-standard-4
(或类似的)机器构建的 GKE Kubernetes 集群,磁盘大小为 80GB。对于更大规模的部署,请参考部署文档。
本文档包含大量信息,在文档的开头是分步内容,技术细节在文章末尾,这样的顺序安排是为了:
- 使用 Helm 部署系统。
- 允许读者在 StarRocks 中导入数据并分析这些数据。
- 解释导入过程中数据转换的基本知识。
前提条件
Kubernetes 环境
本指南编写时使用的 Kubernetes 环境由三个节点组成,每个节点配备四个 vCPU 和 16GB 内存(GCP e2-standard-4
机器)。Kubernetes 集群是通过以下 gcloud
命令部署的:
这个命令仅供参考,如果你使用的是 AWS、Azure 或其他 Kubernetes 提供商,你需要根据自身环境进行修改。在 Google Cloud 中,你需要指定自己的项目和合适的位置。
gcloud container --project enterprise-demo-422514 \
clusters create ee-docs \
--location=southamerica-west1-b \
--machine-type e2-standard-4 --disk-size 80 --num-nodes 3
Helm
Helm 是一个用于 Kubernetes 的包管理器,简化了应用程序的部署和管理。在本实验中,你将使用 Helm 来部署 CelerData Enterprise Edition Kubernetes operator 和示例 StarRocks 集群。
SQL 客户端
您可以使用在 Kubernetes 环境中提供的 SQL 客户端,或使用您系统上的客户端。本指南使用 mysql CLI
。许多兼容 MySQL 的客户端都可以使用。
curl
curl
用于向 StarRocks 发送数据导入任务,以及下载数据集。您可以通过在操作系统命令提示符下运行 curl
或 curl.exe
检查您是否安装了它。如果没有安装 curl,点击这里获取 curl。
术语
FE
FE 节点负责元数据管理、客户端连接管理、查询规划和查询调度。每个 FE 在其内存中存储并维护完整的元数据副本,保证 FE 之间服务无差别。
BE
BE 节点负责数据存储和执行查询计划。
添加 StarRocks Helm Chart 仓库
Helm Chart 包含 StarRocks Operator 的定义和自定义资源 StarRocksCluster。
-
添加 Helm Chart 仓库。
helm repo add starrocks https://starrocks.github.io/starrocks-kubernetes-operator
-
将 Helm Chart 仓库更新到最新版本。
helm repo update
-
查看您添加的 Helm Chart 仓库。
helm search repo starrocks
NAME CHART VERSION APP VERSION DESCRIPTION
starrocks/kube-starrocks 1.9.7 3.2-latest kube-starrocks includes two subcharts, operator...
starrocks/operator 1.9.7 1.9.7 A Helm chart for StarRocks operator
starrocks/starrocks 1.9.7 3.2-latest A Helm chart for StarRocks cluster
starrocks/warehouse 1.9.7 3.2-latest Warehouse is currently a feature of the StarRoc...
下载数据
将这两个数据集下载到您的机器上。
纽约市交通事故数据
curl -O https://raw.githubusercontent.com/StarRocks/demo/master/documentation-samples/quickstart/datasets/NYPD_Crash_Data.csv