| title | 部署 Doris 集群 |
|---|---|
| language | zh-CN |
在规划集群拓扑后,可以在 Kubernetes 中部署 Doris 集群。
在线部署
在线署集群需要经过以下步骤:
- 创建 namespace:
kubectl create namespace ${namespace}- 部署 Doris 集群
kubectl apply -f ./${cluster_sample}.yaml -n ${namespace}离线部署
离线部署 Doris 集群需要在有外网的机器上将 Doris 集群用到的 docker 镜像,上传到所有的 node 节点上。然后使用 docker load 将镜像安装到服务器上。离线部署需要经历以下步骤:
- 下载所需的镜像
部署 Doris 集群需要以下镜像:
selectdb/doris.fe-ubuntu:2.0.2
selectdb/doris.be-ubuntu:2.0.2
将镜像下载到本地后打包成 tar 文件
## download docker image
docker pull selectdb/doris.fe-ubuntu:2.0.2
docker pull selectdb/doris.be-ubuntu:2.0.2
## save docker image as a tar package
docker save -o doris.fe-ubuntu-v2.0.2.tar selectdb/doris.fe-ubuntu:2.0.2
docker save -o doris.be-ubuntu-v2.0.2.tar docker pull selectdb/doris.be-ubuntu:2.0.2将 image tar 包上传到服务器上,执行 docker load 命令:
## load docker image
docker load -i doris.fe-ubuntu-v2.0.2.tar
docker load -i doris.be-ubuntu-v2.0.2.tar- 创建 namespace:
kubectl create namespace ${namespace}- 部署 Doris 集群
kubectl apply -f ./${cluster_sample}.yaml -n ${namespace}在线部署
在安装开始前,需要添加部署仓库,若已经添加则可直接进行 Doris Cluster 的安装,否则请参考添加部署 Doris Operator 时 添加部署仓库 的操作
- 安装 Doris Cluster
安装 doriscluster,使用默认配置此部署仅部署 3 个 FE 和 3 个 BE 组件,使用默认 storageClass 实现 PV 动态供给。
helm install doriscluster doris-repo/doris如果需要自定义资源和集群形态,请根据 values.yaml 的各个资源配置的注解自定义资源配置,并执行如下命令:
helm install -f values.yaml doriscluster doris-repo/doris- 验证 doris 集群安装结果
通过 kubectl get pods 命令可以查看 pod 部署状态。当 doriscluster 的 Pod 处于 Running 状态且 Pod 内所有容器都已经就绪,即部署成功。
kubectl get pod --namespace doris返回结果如下:
NAME READY STATUS RESTARTS AGE
doriscluster-helm-fe-0 1/1 Running 0 1m39s
doriscluster-helm-fe-1 1/1 Running 0 1m39s
doriscluster-helm-fe-2 1/1 Running 0 1m39s
doriscluster-helm-be-0 1/1 Running 0 16s
doriscluster-helm-be-1 1/1 Running 0 16s
doriscluster-helm-be-2 1/1 Running 0 16s离线部署
- 下载 Doris Cluster Chart 资源
下载 doris-{chart_version}.tgz 安装 Doris Cluster chart。如需要下载 2.0.6 版本的 Doris 集群可以使用以下命令:
wget https://charts.selectdb.com/doris-2.0.6.tgz- 安装 Doris 集群
通过 helm install 命令可以安装 Doris 集群。
helm install doriscluster doris-1.4.0.tgz如果需要自定义装配 values.yaml ,可以参考如下命令:
helm install -f values.yaml doriscluster doris-1.4.0.tgz- 验证 doris 集群安装结果
通过 kubectl get pods 命令可以查看 pod 部署状态。当 doriscluster 的 Pod 处于 Running 状态且 Pod 内所有容器都已经就绪,即部署成功。
kubectl get pod --namespace doris返回结果如下:
NAME READY STATUS RESTARTS AGE
doriscluster-helm-fe-0 1/1 Running 0 1m39s
doriscluster-helm-fe-1 1/1 Running 0 1m39s
doriscluster-helm-fe-2 1/1 Running 0 1m39s
doriscluster-helm-be-0 1/1 Running 0 16s
doriscluster-helm-be-1 1/1 Running 0 16s
doriscluster-helm-be-2 1/1 Running 0 16s集群部署资源下发后,可以通过以下命令检查集群状态。
kubectl get pods -n ${namespace}返回结果如下:
NAME READY STATUS RESTARTS AGE
doriscluster-sample-fe-0 1/1 Running 0 20m
doriscluster-sample-be-0 1/1 Running 0 19m当所有 pod 的 STATUS 都是 Running 状态, 且所有组件的 pod 中所有容器都 READY 表示整个集群部署正常。
Doris Operator 会收集集群服务的状态显示到下发的资源中。Doris Operator 定义了 DorisCluster 类型资源名称的简写 dcr,在使用资源类型查看集群状态时可用简写替代。
kubectl get dcr返回结果如下:
NAME FESTATUS BESTATUS CNSTATUS BROKERSTATUS
doriscluster-sample available available当配置的相关服务的 STATUS 都为 available 时,集群部署成功。