在 KubeSphere 中开启新一代云原生数仓 Databend
PsiACE3月 9, 2023
前言
Databend 是一款完全面向云对象存储的新一代云原生数据仓库,专为弹性和高效设计,为您的大规模分析需求保驾护航。Databend 同时是一款符合 Apache-2.0 协议的开源软件,除了访问云服务(https://app.databend.com/)之外,用户还可以自己部署 Databend 生产集群以满足工作负载需要。
Databend 的典型使用场景包括:
- 实时分析平台,日志的快速查询与可视化。
- 云数据仓库,历史订单数据的多维度分析和报表生成。
- 混合云架构,统一管理和处理不同来源和格式的数据。
- 成本和性能敏感的 OLAP 场景,动态调整存储和计算资源。
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,可以管理多个节点上的容器化应用,提供高可用性、弹性扩缩容、服务发现、负载均衡等功能。
利用 KubeSphere 部署和管理 Databend 具有以下优点:
- 使用 Helm Charts 部署 Databend 集群,简化应用管理、部署过程和参数设置。
- 利用 Kubernetes 的特性来实现 Databend 集群的自动恢复、水平扩展、负载均衡等。
- 与 Kubernetes 上的其他服务或应用轻松集成和交互,如 MinIO、Prometheus、Grafana 等。
本文将会介绍如何使用 KubeSphere 创建和部署 Databend 高可用集群,并使用 QingStor 作为底层存储服务。
配置对象存储
对象存储是一种存储模型,它把数据作为对象来管理和访问,而不是文件或块。对象存储的优点包括:可扩展性、低成本、高可用性等。
Databend 完全面向对象存储而设计,在减少复杂性和成本的同时提高灵活性和效率。Databend 支持多种对象存储服务,如 AWS S3、Azure Blob、Google Cloud Storage、HDFS、Alibaba Cloud OSS、Tencent Cloud COS 等。您可以根据业务的需求和偏好选择合适的服务来存放你的数据。
这里我们以青云 QingStor 为例,介绍与 S3 兼容的对象存储相关配置的预先准备工作。
创建 Bucket
对象存储服务(QingStor)提供了一个无限容量的在线文件存储和访问平台。每个用户可创建多个存储空间(Bucket);您可以将任意类型文件通过控制台或 QingStor API 上传至一个存储空间(Bucket)中;存储空间(Bucket)支持访问控制,您可以将自己的存储空间(Bucket)开放给指定的用户,或所有用户。
登录青云控制台,选中对象存储服务,新建用于验证的 bucket。
需要关注的是 bucket 的名字
<bucket>
<region>
由于这里使用 s3 兼容服务,所以最后连接的 endpoint_url 是
s3.<bucket>.<region>.qingstor.com
创建 API 密钥
API 密钥(Access Key)可以让您通过发送 API 指令来访问青云的服务。API 密钥 ID 须作为参数包含在每一个请求中发送;而 API 密钥的私钥负责生成 API 请求串的签名,私钥需要被妥善保管,切勿外传。默认所有 IP 地址都可使用此密钥调用 API,设置 IP 白名单后只有白名单范围内的 IP 地址才可使用此密钥。
点击右上方菜单,选中 API 密钥,创建新的密钥用于 API 访问。
下载文件中的
qy_access_key_id
access_key_id
qy_secret_access_key
secret_access_key
准备 KubeSphere 环境
KubeSphere(https://kubesphere.io)是在 Kubernetes 之上构建的开源容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 已被海内外数万家企业采用。此外,KubeSphere 还拥有极为开放的生态,KubeSphere 在 OpenPitrix 的基础上,为用户提供了一个基于 Helm 的应用商店,用于应用生命周期管理。KubeSphere 应用商店让 ISV、开发者和用户能够在一站式服务中只需点击几下就可以上传、测试、安装和发布应用。目前 Databend 已入驻 KubeSphere 应用商店。
KubeSphere 环境搭建
All-in-One 模式部署测试环境
参考官方文档 。
在 Azure 上 Spot 一台机器:
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-1089-azure x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Tue Sep 6 02:09:16 UTC 2022
System load: 0.15 Processes: 376
Usage of /: 4.8% of 28.89GB Users logged in: 0
Memory usage: 0% IP address for eth0: 10.0.0.4
Swap usage: 0%
以 All-In-One 模式部署:
注意,需要在 root 下运行。
apt install socat conntrack containerd
systemctl daemon-reload
systemctl enable --now containerd
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.2 sh -
chmod +x kk
./kk create cluster --with-kubernetes v1.22.12 --with-kubesphere v3.3.1
+------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------------+------------+-------------+------------------+--------------+
| name | sudo | curl | openssl | ebtables | socat | ipset | ipvsadm | conntrack | chrony | docker | containerd | nfs client | ceph client | glusterfs client | time |
+------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------------+------------+-------------+------------------+--------------+
| ks | y | y | y | y | y | | | y | y | | 1.5.9-0ubuntu3.1 | | | | UTC 02:53:56 |
+------+------+------+---------+----------+-------+-------+---------+-----------+--------+--------+------------------+------------+-------------+------------------+--------------+
如果提示依赖缺失,可以根据需要安装,
sudo apt install <name>
Kubernetes Version ≥ 1.18 | |
---|---|
socat | Required |
conntrack | Required |
ebtables | Optional but recommended |
ipset | Optional but recommended |
ipvsadm | Optional but recommended |
访问 KubeSphere 控制面板。
执行下面命令查看关于登录的信息:
Collecting installation results ...
#####################################################
### Welcome to KubeSphere! ###
#####################################################
Console: http://10.0.0.4:30880
Account: admin
Password: P@88w0rd
NOTES:
1. After you log into the console, please check the
monitoring status of service components in
"Cluster Management". If any service is not
ready, please wait patiently until all components
are up and running.
2. Please change the default password after login.
#####################################################
https://kubesphere.io 2022-09-06 15:41:44
#####################################################
访问
30880