[PolarDB实操课] 02.使用云起实验室资源快速体验PolarDB分布式版
内容介绍:
一、PolarDB-X的四种安装方法
二、容器介绍
三、使用云起实验室快速安装部署PolarDB-X
四、课程小结
本次分享的主题是使用云起实验室体验polarDB分布版式,由阿里云polarDB开源架构师黄心雨分享。
一、PolarDB-X一般有的四种安装方法
1.Docker的安装方法
可以快速部署和测试应用、资源占用相对较低,只适合做体验和测试。
2.PolarDB-X团队专门开发的部署工具PXD
可以在本地一键拉起测试环境,还可以用特定的方式部署,这只适合体验和测试。相比Docker体验更加丰富。如果想把PolarDB-X运用到生产环境,建议使用Kubernetes部署方式。如果想要从零开始深入参与到PolarDB-X的开发中,可以尝试使用源码编译的方式部署。
二、容器介绍
Docker、PXD和Kubernetes都涉及到容器的概念,这里先介绍一下容器的相关知识。容器是云原生时代的关键技术,主要解决代码水土不服问题。代码在测试环境里面运行的挺好但是运用到生产环境中时,会发现它可能运行不了,是因为组建版本或者环境配置有问题。如果把应用和环境一起打包成一个容器就可以解决软件跨环境迁移的问题。当应用和环境一起打包,从测试环境迁移到生产环境,就不会出现因为环境配置而导致的运行失败问题了。
Docker是一个开源的应用容器引擎。在自己的设备上运行应用时可以从仓库下载对应的镜像到主机。镜像一般包含容器的说明,可以通过镜像实例化容器的进程快速把应用跑起来。
三、使用云起实验室快速安装部署
实操用到云起实验室的资源。实验室是阿里云提供的零门槛的云上实践平台。提前把服务器环境和相关资源准备好,就可以直接体验。今天用的实验室地址会发在群里,免费为大家提供ecs资源,提前做好环境。安装部署要经过很多的步骤。这次只要走橙色的启动容器、创建实例这一点步骤就可以。
进入实验开启后自动创建资源。在资源创建过程中看实验室左边提供的实验手册,实验要用到的步骤和指令放在这里。根据左边的手册直接体验。左边有4种体验方式,今天演示Docker方式。
资源创建完成会显示连接到ecs窗口,跟着实验手册运行命令。第一步是安装依赖,安装好直接启动。可以看到Docker的状态已经启动成功了,可以看到Docker里面已经有的镜像。后面要用到的PolarDB-X的镜像下载好直接把容器启动起来,用Docker round命令,-D的意思是要在后台启动容器,并且返回它的Id,然后把它命名为some PolarDB-X,端口是8527,使用的是镜像。安装完之后去连接,因为PolarDB-X完全兼容MYSQL,所以可以通过MYSQL客户端去连接。通过IP地址和端口用预制好的用户名和密码去连接,但是有时候连接可能会有些问题,多试几次就好了。连接上之后就可以进行一些操作了。
PolarDB-X有四个重要的组件CN,DN,GMS和CDC。在运行SQL的时候,这些组件到底是怎么工作的呢?CN是最接近应用层的组件,用户在执行SQL时,计算层负责把SQL进行解析和优化,并且把拆分后的指令路由给后续的节点。如用户执行的是select语句,CN节点就会去解析这条语句,并且路由给各个DN节点去查找数据。DN节点是存储节点,数据都会分布式的存储在DN节点里面。在GMS里面存储了这些信息,因为GMS里面存储的是一些原数据信息,如库表结构、节点的IP端口等。新节点会从GMS里面获取数据都存在节点里面,最后CDC负责处理全局的binlog。前面在数据库里面进行的一些操作都会记录在里面,不同节点的操作会按照全局的时间先后顺序整合成一份完整的日志。
首先看一下GMS的状态。它有默认的两个系统库,因为现在还没有建库,所以会显示默认的两个库。可以像使用MYSQL那样去创建数据库。使用这个命令后可以看到跟MYSQL有点不一样的是设置一个partition mode, 这里使用的是partitioning,就是自动的分区建档模式。另一个是sharding模式需要手动去分库分表。一般推荐使用自动方式建库。进入数据库复制命令建一张表。表里面有3个字段,其中ID是主件,根据主件进行分区。分区的方式是hash方式即根据hash运算决定数据存在哪个分区里面。建表之后插入3条数据,插入数据之后看一下表的结构,可以看到里面有三条数据跟插入的顺序是不一样的,因为数据是分布式的存储在PolarDB-X里面。查找也是分布式的查找。
前面设置成8个分区,分别从P1到P8。这些数据具体在这些分区里面怎么分布需要用到命令。可以看到在在P2存了一条数据,在P5存了两条数据。CDC负责全局的binlog。执行这些操作之后可以看到CDC节点已经运行到了5979位点。从建库、建表、插入数据都记录下来了。DN是存储节点,里面有两个节点,一个是meta即原数据的GMS节点。
GMS也是一个DN节点,只是它存储的内容是原数据。计算节点这里显示它的ID、IP端口。因为Docker镜像里面,CN节点只有一个所以只能是leader节点。如果后续采用其他的部署方式,如PXD或K8S可以自定义拓扑结构,可以多设置几个节点,这样leader节点还可以做一些自主选择。到这里就可以停止容器了。大家结束后写一份实验报告。
四、课程小结
今天介绍PolarDB-X的四种安装部署方式,且带领大家用Docker安装的方式快速体验了。希望这次课后大家能够写一份实验报告。如果同学进度比较快,有更多的时间可以提前做,包括安装部署之后,有教怎么使用以及进阶操作。下期会教大家更多的安装步骤方式。去年云栖大会上发布了另一种版本标准版,也叫单机版。下节课介绍这两版的区别以及怎么用PXD部署这两种版本。
以上是本次分享的全部内容。