[PolarDB实操课] 03.使用PXD部署PolarDB企业版和标准版
内容简介:
一、PolarDB-X企业版和标准版的区别
二、在集群机器上安装docker环境
三、在部署机上安装PXD
四、创建并部署PolarDB-X
五、总结
本次分享的内容是如何使用PXD部署PolarDB-X企业版和标准版。
课程内容将围绕四个方面展开:
首先,介绍PolarDB-X企业版和标准版的区别;其次,讲解如何在集群机器上安装docker环境;然后,如何在部署机上安装PXD;最后,创建并部署PolarDB-X。
一、PolarDB-X企业版和标准版的区别
该部分主要介绍了PolarDB-X企业版和标准版的区别。
1. PolarDB-X企业版与标准版的性能特点
PolarDB-X标准版主打集中式架构,支持单机MySQL形态,采用“一主一备一日志”的三节点架构,PolarDB-X标准版没有CN、GMS与CDC节点,将PolarDB-X分布式中的DN节点提供单独服务,它支持Paxos协议的多副本模式,Lizard分布式事务引擎,可以100%兼容MySQL;PolarDB-X企业版主打分布式架构,高度兼容MySQL生态,支持分布式水平扩展,可以从集中式(最小1个节点)扩展到分布式(1024个节点)。它的架构方式就是PolarDB-X分布式架构。
因架构形态的不同,PolarDB-X标准版与企业版有着不同的性能特点。PolarDB-X标准版主打集中式架构,100%兼容MySQL。在小规格下(例如CPU<=32核),相比于分布式更具有性能优势。如遇大规模需求也可平滑升级为分布式版。当然,PolarDB-X标准版也有一些缺点:因为单机MySQL下的B+Tree存在大表并发问题。因此,单表行记录建议控制在500万~5000万之间。同时,单机的scale up也存在上限。PolarDB-X企业版主打分布式线性扩展,最大可支持1024节点,PB级别的数据规模。有着金融级容灾水准,支持同城3机房,两地三中心等容灾形态。另外,它支持HTAP行列混存,内置列存副本可加速在线分析能力。
2. PolarDB-X的推荐使用场景
针对上述不同的性能特点,给出相关选型建议。
(1) 对于PolarDB-X标准版,推荐以下两个场景:
a.需要100%兼容MySQL,支持跨机房容灾且满足RPO=0的场景下;
b.需要低成本MySQL,且满足开源,业务可上可下的情况下。
(2)对于PolarDB-X企业版,推荐以下四个场景:
a.需要分布式并发扩展,解决订单交易类高并发的场景下;
b.需要替代开源分库分表,解决运维问题的情况下;
c.需要解决MySQL大表问题,基于分布式进行数据切片的场景下;
d.需要分布式架构升级且满足开源的情况下。
二、在集群机器上安装docker环境
介绍完PolarDB-X企业版与标准版的区别后,下面进一步学习如何使用PXD工具来部署PolarDB-X企业版和标准版。本节课所涉及到的所有指令代码以文档的形式分享给大家,大家可以实践操作,熟悉安装流程。
1. 阿里云云服务器ECS的注册创建
主要的流程分为准备服务器,准备操作系统,安装docker,密钥链接,配置环境,安装PXD,准备拓扑文件,最后创建PolarDB-X实例。用户除了在自己的电脑本地环境上进行部署体验,同时也推荐在阿里云的云服务器ECS上进行部署操作,确保本地环境健康,更加稳定可靠。
下面讲解如何创建ECS实例,操作流程如下:
首先,打开云服务器ECS网址。在购买前需要登录阿里云账号,由于是学习课程,推荐使用按量付费的方式,使用完成后就可以随时释放资源,更加优惠;网络及可用区自行选择;实例规格要选择稍大的内存,否则后续部署安装会出现内存不足的情况,这里推荐使用8vCPU和16GiB;
镜像选择主要用于后续安装docker,这里选择Ubuntu 20.04版本;勾选分配公网IPv4地址;登录凭证使用自定义密码的形式。最后,进行下单。为完成集群部署,需要购买三台ECS,将上述购买操作重复两次。
在全部完成后,选择其中一个实例点击远程连接,输入用户名及密码,即可进入shell页面进行后续操作。
2. 在服务器中安装docker环境
在安装PXD之前,需要先进行系统配置,也就是安装docker(安装docker的地址如图所示)。
根据所创建实例时所选择的系统,在页面左侧点击相应系统进行安装,这里更推荐使用apt存储库进行安装,实例代码已经给出,将代码拷贝到shell页面运行,即可完成对应操作。
首先将第一步代码拷贝到shell页面运行,完成第一步;接下来进行第二步,安装软件包的过程,同样将代码复制下来,然后在shell页面执行代码。到此,完成docker的安装部分。
三、在部署机上安装PXD
1. ECS机器密钥连接
在部署机上安装PXD工具。上节课已经介绍过PXD其实就是PolarDB团队开发的快速部署工具。安装之前,还需要将3台ECS机器进行密钥连接。下面讲解如何进行密钥对的连接。将以下代码输入:
# 生成密钥对
ssh-keygen -t rsa
# 复制免登公钥到目标机器,修改user和ip。重复3次
s
sh-copy-id user@ip
在执行第二句代码时,需要修改user和IP,需要把它改为所购买的ECS实例的IP地址。如下图所示,将地址填入到代码中。
user默认为root,所以改成root即可。因为有3台机器,所以需要将此指令重复三次。执行完之后,就完成了集群机器配置的免密登录。
2. 安装python3并激活虚拟环境
接下来需要安装python3并激活虚拟环境。不同的镜像系统具有不同的指令,可以按需执行相关的指令。Ubuntu系统的代码已整理如下。其他系统的示例代码在安装docker文档中既可查阅,可以自行查阅对应安装。
Ubuntu系统示例代码:
a. 安装Python3;
a
pt-get update
a
pt install python3.8-venv
b. 创建一个python3的虚拟环境并激活
py
thon3 -m
ve
nv venv
s
ource venv/bin/activate
在看到对话框前有一个 “(v
enc)
”,就代表已经进入到虚拟环境。
3. 安装PXD工具
接下来,进行安装PXD工具。在安装之前,建议先升级一下pip工具,将相应代码复制到环境里执行即可。
# 升级pip工具示例代码:
p
ip install –upgrade pip
# 升级完成后,执行如下代码安装PXD
p
ip install pxd
四、创建并部署PolarDB-X
1. 准备拓扑文件
(1)PolarDB-X标准版
由于PolarDB-X目前包含企业版和标准版两个版本,在部署过程中的主要区别需要准备不同的拓扑文件,下面介绍如何编写这两类的拓扑文件。首先,执行创建yaml文件的过程,然后编辑该文件,相应代码如下:
# 创建yaml文件,命名为pol
ardbx1.
yaml
t
ouch polardbx1.
yaml
# 编辑该文件
v
i polardbx1.
yaml
下图展示了yaml文件的具体内容。
代码中的version和type无需修改,cluster下属的name是PolarDB-X的集群名称,可以自定义;dn节点里的image代表镜像名称,这里可以不填,默认为最新镜像;replica是数据节点的数目,在标准版中默认设置为1。Host group列表表示1个DN节点多副本的部署机器,例如pixel 3副本需要填入3个IP,3本集群的leader节点会从前两个IP的节点上随机显出。需要注意的是,这里的ip地址必须要填写私网地址,而不能写公网ip。
这是因为DN的三个物理节点要进行网络协调,如果填写公网ip,一方面带宽会受限,另一方面延迟较大,导致3个节点间通信比较慢,部署就很容易失败。最后,resources表示的是内存上限,默认最小为2G。若ECS内存足够大,也可以修改为3/4G。下面补充介绍如何查看私网地址。打开所购买的ECS实例,在 IP地址区域就是公网与私网地址。
由于填写了3次ESC实例,既可以选择把第1个机器的IP地址填3遍,也可以选择把3台机器的IP地址各填1遍。在编写完这个文件之后,就可以将文件保存并退出。
(2)PolarDB-X企业版
如下图,假如准备了3台机器,分别称做机器人A、B、C。A机器用来部署GMS和CDC节点;B、C机器用来部署CN和DN各两个节点。下面重点介绍GMS、CN、DN跟CDC节点下属的host group,其实同样按照上述的部署方式,填入相应的机器私网IP。即GMS和CDC节点对应A机器的私网地址;CN、DN两个节点对应的是B、C两个节点。
其他例如:version、type等属性,与PolarDB-X标准版所介绍的内容一致。另外,可以使用同样的3个ECS机器,既部署1个PolarDB-X标准版,再部署1个PolarDB-X企业版。需要注意的是,cluster下的name需要命名为不同的名称,以及PolarDB-X集群名称即创建yaml文件的名称需要进行修改,即可同时创建两个文件。
2. 一键拉起PolarDB-X
在填写完yaml文件之后,就可以一键拉起PolarDB-X。执行以下代码,就可以开始拉取镜像,并且部署PolarDB-X。
# 一键拉起PolarDB-X
p
xd creat -file polardbx1.
yaml
部署成完成后,PXD就会输出PolarDB-X的集群的连接方式,通过mysql命令行登录就可以进行测试了,具体的MySQL操作参考云启实验室内容。
3. 查看PolarDB-X是否部署完成
部署完成后,在shell页面输入下列代码即可查看所创建节点的状态。
#查看所建节点的状态
pxd
list
由于在创建的过程中暂停,所以PolarDB-X标准版的状态是creating,而PolarDB-X企业版已经部署完毕,所以看到它的状态为正在运行中,它的节点为2个CN节点,2个DN节点和1个CDC节点。当出现这样的状态,就代表PolarDB-X标准版和企业版都已经部署完成了。
五、总结
本次课程到此结束,作如下总结:
(1)本次课程主要介绍如何使用PXD工具来部署PolarDB-X企业版和标准版,并且介绍了PolarDB-X企业版和标准版的架构以及对应的试用场景。
(2)后续介绍如何使用源码部署PolarDB-X企业版和标准版。