首页
/ 使用Helm Chart在Kubernetes上部署Apache Doris集群

使用Helm Chart在Kubernetes上部署Apache Doris集群

2025-06-27 10:57:56作者:曹令琨Iris

前言

Apache Doris作为一款高性能的MPP分析型数据库,在现代数据架构中扮演着重要角色。本文将详细介绍如何利用Helm Chart在Kubernetes环境中快速部署Apache Doris集群,实现存储与计算资源的统一管理。

Helm简介

Helm是Kubernetes的包管理工具,它通过Chart(图表)的形式定义、安装和升级复杂的Kubernetes应用。使用Helm部署Doris可以带来以下优势:

  1. 简化部署流程,避免手动配置的复杂性
  2. 提供标准化的部署模板
  3. 支持灵活的配置覆盖
  4. 便于版本管理和升级

准备工作

在开始部署前,请确保已具备以下环境:

  1. 可用的Kubernetes集群(版本1.16+)
  2. 已安装并配置kubectl命令行工具
  3. 已安装Helm(版本3.0+)
  4. 集群中配置了可用的StorageClass(用于持久化存储)

添加Doris Helm仓库

Doris官方提供了包含Operator和集群部署的Helm仓库,添加步骤如下:

# 添加Doris Helm仓库
helm repo add doris-repo https://charts.selectdb.com

# 更新仓库至最新版本
helm repo update doris-repo

# 验证仓库信息
helm search repo doris-repo

执行后应能看到类似输出,包含doris-operator和doris两个Chart:

NAME                          CHART VERSION    APP VERSION   DESCRIPTION
doris-repo/doris-operator     1.3.1            1.3.1         Doris-operator for doris creat ...
doris-repo/doris              1.3.1            2.0.3         Apache Doris is an easy-to-use ...

部署Doris Operator

基础部署

Operator是管理Doris集群生命周期的核心组件,执行以下命令进行默认安装:

helm install operator doris-repo/doris-operator -n doris --create-namespace

自定义配置部署

如需自定义Operator配置(如资源限制、副本数等),需先下载values.yaml文件:

helm show values doris-repo/doris-operator > operator-values.yaml

编辑完成后使用自定义配置安装:

helm install -f operator-values.yaml operator doris-repo/doris-operator -n doris

验证Operator状态

部署完成后,检查Operator Pod状态:

kubectl get pod -n doris

正常输出应显示Operator Pod状态为Running:

NAME                              READY   STATUS    RESTARTS   AGE
doris-operator-866bd449bb-zl5mr   1/1     Running   0          18m

部署Doris集群

基础部署

使用默认配置部署Doris集群(包含3个FE和3个BE节点):

helm install doriscluster doris-repo/doris -n doris

自定义配置部署

对于生产环境,建议根据实际需求自定义集群配置:

  1. 获取默认values文件:
helm show values doris-repo/doris > cluster-values.yaml
  1. 编辑cluster-values.yaml,常见配置项包括:

    • FE/BE节点数量
    • 资源请求与限制(CPU/内存)
    • 存储配置(StorageClass、容量)
    • 服务类型(NodePort/LoadBalancer)
    • 监控配置
  2. 使用自定义配置部署:

helm install -f cluster-values.yaml doriscluster doris-repo/doris -n doris

验证集群状态

部署完成后,检查集群Pod状态:

kubectl get pod -n doris

正常输出应显示所有FE和BE节点均为Running状态:

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集群

部署完成后,可以通过以下方式访问Doris:

  1. MySQL客户端访问

    mysql -h <FE_SERVICE_IP> -P 9030 -uroot
    
  2. Web UI访问: 在浏览器中访问FE的HTTP端口(默认8030),查看集群状态和管理界面。

卸载Doris集群

卸载Doris集群

当不再需要Doris集群时,执行以下命令卸载:

helm uninstall doriscluster -n doris

卸载Doris Operator

确保没有运行的Doris集群后,可卸载Operator:

helm uninstall operator -n doris

最佳实践建议

  1. 生产环境配置

    • 建议FE节点至少3个以保证高可用
    • BE节点数量根据数据量和查询负载确定
    • 为关键组件设置合理的资源限制
  2. 存储规划

    • 为BE节点配置高性能存储(如SSD)
    • 根据数据增长预期设置足够的存储容量
  3. 监控与告警

    • 集成Prometheus监控Doris集群指标
    • 配置关键指标的告警规则
  4. 备份策略

    • 定期备份元数据
    • 考虑使用Kubernetes的VolumeSnapshot功能备份数据

常见问题排查

  1. Pod无法启动

    • 检查资源配额是否足够
    • 验证StorageClass是否可用
    • 查看Pod日志获取详细错误信息
  2. 集群无法选举Leader

    • 确认FE节点数量为奇数
    • 检查网络连通性
  3. 性能问题

    • 监控资源使用情况
    • 调整BE节点数量和资源配置

通过本文介绍的Helm Chart部署方式,您可以快速在Kubernetes环境中搭建Apache Doris集群,并根据实际需求灵活调整配置。这种部署方式特别适合需要快速弹性伸缩和统一管理的云原生环境。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
868
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
268
308
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
373
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
599
58
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3