PolarDB-X 的部署与运维(二)| 学习笔记

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云服务器ECS,u1 2核4GB 1个月
简介: 快速学习 PolarDB-X 的部署与运维。

开发者学堂课程【PolarDB-X 开源分布式数据库进阶课程 :PolarDB-X 的部署与运维(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1202/detail/18163


PolarDB-X 的部署与运维  


三、课程资源(运维系统)

之前课程提过 polarDB-X 目前支持多种部署方式,本次课程主要基于 polarDB-X Operator 的部署方式进行具体门类介绍,polarDB-X Operator 是 polarDB-X 在 K8s 上的一个自动化运维系统,也是生产级的一个部署方式,基于 k8s集群的底层基础设施,可以快速对 polarDB-X 集群进行运维和管理,例如基于 k8s 里面的 Deployment 对无状态的cn 还有 cdc 节点进行管理,基于 stiff sight 的方式,能够管理有状态的 GMS 或 CN 节点。除了基本的生命周期管理能力外,我们在 polarDB-X Operator 上还支持了弹性伸缩、高可用、安全可信、监控审计等运维能力,例如在v2.2版本中,重点支持了国产化的适配、全量的备份恢复、SQL 审计、参数模板、参数设置,还有备库重搭以及只读集群。在未来,也会对 polarDB-X 进行进一步的改造和完善,例如目前很多运维操作还是在命令行通过黑屏化的方式进行,在未来会提供 polarDB-X 的 Dashbord,通过白屏化的方式管理 polarDB-X 集群。同时备份能力也会进一步完善,支持自定义的备份策略,帮助自定义定期备份。支持增量备份,以及任意时间点的恢复能力。目前 polarDB-X Operator 的调度还主要依赖 K8s 的 Studio进行。所以如果在一个易购的集群或者说对于一些 io 能力更敏感的一些集群上,目前的标准力还不够细腻度化。未来也会在这方面去做进一步的优化,来支持这样的场景。

image.png

 

四、国产 ARM 支持

目前市场上对国产化服务器具有强烈需求,其中最主要的是对 arm 架构 CPU 的支持,因此在这次的 v2.2版本中,全面的兼容了 X86、arm 架构两种平台。这里的全面兼容不仅具有内核,还对像计算节点 cn、存储节点 dn,以及日志节点 cdc 的兼容。同时还有生态工具的兼容,例如在 k8s 上的集群运维管理平台 polarDB-X Operator 、压测工具benchmark-boot、导入导出工具 batch-tools 都完成了 arm 架构的适配。在下图是在 Doc harp  上的核心组件的镜像截图。可以看出目前已经全面的支持了 x86 和 arm 64这两种架构。通过 Doc lining fans 的方式,可以将这两种不同架构的镜像通过一个 tax 的方式进行打包,这样在不同平台上进行部署时便可以通过相同的方式进行,极大减少了运维的复杂度。

image.png

国产化平台适配演示:

下面通过云起实验室《如何在 ARM 平台部署 polarDB-X 》演示如何在 ARM 平台快速部署 polarDB-X 。

这是云起实验室的页面,这次云起实验室里面提供了《polarDB-X 开源分布式数据库进阶》的实验。首先点击加入课程,这次一共提供11个实验,每一个实验是和每节课的内容相关联,方便学习者课后通过实验的方式进行实际体验。

image.png

第一个实验如何在 ARM 平台部署一个 polarDB-X

首先点击查看详情,进入实验的详情页,点击再次实验,进入实验页面。实验全程按照实验页面左下角的操作指导框的提示进行。

按照第一步的要求创建资源。点击创建资源按钮,加载后会创建出一个 ECS。之后在刚创建 ECS 上进行后续实验操作。另外,云起实验室的登录只需要一个阿里云账号即可,并且具体操作实验以及注册账号都是免费的,大家可以免费的体验。创建完成后进入 ECS 的终端页面。在此页面会列出相关的实验的信息和云服务器的基本信息。包括 IP、用户账号等。

将左下角切换为实验手册的 tab,开始我具体实验步骤。

第一步按照步骤安装 Dcker 、kubectl 、minikube 和 helm3 ,创建安装环境,这基础之上安装 polarDB-X。

首先,根据左下角操作指南1执行 uname-a 命令来看一下 ECS 的架构。实验这台 ECS 架构 0aarch64,和普通的  x864 是不同的。

image.png

第2步是安装 docker。根据2.1复制两条命令安装 docker。第一条命令是添加 Docker 的 repo,第二条命令是通过 yum install 的方式来安装 docker。接下来2.2,复制命令,启动 docker。

第3步是安装 K8s 的命令行工具,即 Kubectl,之后所有的命令行操作都会基于 Kubectl 命令来进行。首先根据3.1的命令,下载 Kubectl 的安装包。之后根据3.2命令,去赋予可执行权限。之后根据3.3,移动到系统目录下,就可以直接使用此命令。

第4步,安装 minikube,安装 minikube 可以帮助用户快速在比台 ECS 上创建一个虚拟 K8s 集群,然后再去安装 por和创建 pod 集群。首先根据框内第一条命令,下载安装包,下载完成后,然过第二条命令来进行安装。

第5步,安装 helm3,这也是需要安装 p 的一个工具。第一步,根据4.1命令下载 helm3,然后根据4.2命令解压 helm3 安装包。之后运用4点。三,命令将它移动到系统目录 ,这样就能直接使用。

第6步,安装 MYSQL,这个软件能帮助我们快速联系创建好的 polarDB-X 集群上。执行操作指南框内命令安装MySQL。

以上是第一步,创建安装环境的所有操作。点击下一页,进入下一个实验步骤——使用 polarDB-X Operator 安装 polarDB-X ,在这一操作步骤中,知道如何创建一个简单的 kubermetes 集群并部署 polarDB-X Operator ,使用 opertor 部署一个完整的 polarDB-X  集群。

第1步,使用 minikube 创建 kubemetes 集群。首先根据1.1执行下面命令,创建一个 galaxyku 账号。之后根据1.2操作,切换到账号 galaxyku 。根据操作1.3进入到 galaxyku 的主目录下。之后根据操作1.4的命令,能帮助创造一个4c 12G分别包含两个节点的 k8s 集群版本是1.23.3。

image.png

1.5操作会通过 kubectl cluster-info 命令,查看 K8s 集群的基本信息,这里显示了 K8s 控制面的地址、coreDNS 的地址。

image.png

第2步部署 polarDB-X Operator ,首先根据2.1命令,创建一个名为 polarDB-X Operator -system 的命名空间,之后通过命令第一条命令  helm repo add 实现 polarDB-X ,添加 polarDB-X Operator 的 helm仓库之后通过第二条命令一键安装 polarDB-X Operator .之后通过2.3命令查看 polar operator 组件安装以及运行情况。

操作面板会显示几个组建,正在创建。在这过程中可以运用 –w 的方式等待创建。

在操作面板的输出信息中可以看到 polarDB-X Operator 已经安装完成,可以通过 kubectl get pods --namespac polardbx-operator-system 的命令去查看 polarDB-X Operator -system 的情况。

image.png

同时也可以通过 yaml 快速创建 polarDB-X

image.png 

如果所有的组件进入 running 的状态了,表示 polarDB-X 已经安装完成。

第3步部署 polarDB-X Operator 集群。首先根据3.3命令,打开 yaml 文件,之后将3.2操作下给出的 yaml 文本复制粘贴到已打开的 yaml 文件中。这个给出的 yaml文本,首先是 dx 的集群名称。是 polarDB-X ,下面定义的是跑了 polarDB-X 的组件,有cdc、cn、dn、gms,分别设置了他们的 eplicas 为1,即每次只见一个节点,设置通过 resouces 判定资源使用情况。

这个 yaml 文本将设置一个包含一个 cn,一个 dn ,一个gms 的集群。文本粘贴后退出 yaml 开始创建。执行3.3命令,创建 polarDB-X 集群。通过3.4命令可以查看 polarDB-X 集群创建状态,由于创建 polarDB-X 时需要拉取 cn、dn等镜像,所耗时间较长。当 PHASE 显示为 Running 时,即表示部署完成。

输入命令 kubectl get pot 可以查看在创建过程中产生的新的 pod。这里可以看到一共有六个 pod,分别是 gms 3个,Dn 3个。cande-0 和 cande-1分别表示刚才介绍的 dn 里面的 leader、Follow 的角色。 log-0 表示的是 log 节点。对于dn也一样,所以每个 dn 都会有三个 pod 组成,来保障我们数据的高可靠。

image.png

点击下一页,进行下一步,连接 polarDB-X 集群。

首先根据1的命令查看 polarDB-X 集群登录密码,登录密码是存在于 K8s 里面的。之后根据2操作,通过 K8 s 的 kubectl port-forward sv c/polardb-x3306 命令将 polarDB-X 的 Service 的3306端口转换到 ECS 上,连接此台 ECS 的3306端口,便可以登录 polarDB-X O。之后实验3,通过单击右上角加号图标创建新的终端二。之后实验4,通过命令来连接 polarDB-X ,同时复制刚才密码粘贴。

之后点击下一页进行下一大步操作,首先根据实验1.1,通过 create database sysbench_test:命令,创建一个Sysbnch_test 数据库,然后通过 sysbench Oltp 场景模拟业务流量,展示x如何稳定运行。之后根据实验1.2输入 Exit 退出数据库。之后根据1.3命令切换到账号 GalaxyKube,之后根据1.4,1.5创建准备压测数据的 Yaml 文件,之后将1.6的 Yaml 文件文本复制粘贴到 Yaml 文件中。这个文本中主要使用的还是公开的 Sysbch 的镜像,然后还填写了一些相关的命令行参数,刚才抛了 polarDB-X的连接串密码、场景参数。最后保存文件退出,根据1.7命令执行,根据1.8命令获取任务的进行状态。

第2步,启动压测流量。根据2.1命令创建启动压测的 Yaml 文件。复制2.2的 yaml 文本,之后保存退出。之后执行2.3命令运行启动压测的 Yaml 文件,开始压测。根据2.4命令,查看压测脚本运行的 pod。根据2.5命令查看 QPS 等流量数据,查看压测效果,这一步可以多观察一段时间,查看运行情况。流量基本已经稳定在2000左右,说明 polarDB-X Operator 在 arm 机器上完善部署,能够进行正常业务。

相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
相关文章
|
6月前
|
存储 关系型数据库 数据库
深入了解 PostgreSQL:功能、特性和部署
PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍 PostgreSQL 的功能、特性以及如何部署和使用它。
224 1
深入了解 PostgreSQL:功能、特性和部署
|
6月前
|
关系型数据库 数据库 PostgreSQL
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
177 1
|
10天前
|
Docker 容器 关系型数据库
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
本期课程将于4月11日19:00开始直播,内容包括源码编译基础知识和实践操作,课程目标是使学员掌握源码编译部署技能,为未来发展奠定基础,期待大家在课程中取得丰富的学习成果!
【PolarDB-X从入门到精通】 第四讲:PolarDB分布式版安装部署(源码编译部署)
|
4月前
|
SQL 关系型数据库 MySQL
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
postgresql|数据库|MySQL数据库向postgresql数据库迁移的工具pgloader的部署和初步使用
110 0
|
28天前
|
SQL 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB-X部署三台失败如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
30天前
|
存储 Kubernetes 分布式数据库
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
77 0
|
2月前
|
容器
为什么在部署PolarDB-X时会卡在这了不动
【2月更文挑战第2天】为什么在部署PolarDB-X时会卡在这了不动
15 3
|
2月前
|
弹性计算 关系型数据库 分布式数据库
PolarDB for PostgreSQL部署问题之部署失败如何解决
PolarDB for PostgreSQL是基于PostgreSQL开发的一款云原生关系型数据库服务,它提供了高性能、高可用性和弹性扩展的特性;本合集将围绕PolarDB(pg)的部署、管理和优化提供指导,以及常见问题的排查和解决办法。
|
2月前
|
SQL 关系型数据库 数据库
PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
54 0
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
《永恒岛》引入云原生数据库PolarDB实现游戏全球部署和更流畅的游戏体验
三九互娱通过采用阿里云PolarDB作为核心数据库,备份和恢复效率提高10倍以上
74 1