前面我们介绍了PolarDB-X的基本概念及整体架构信息,这篇文章我们来演示下如何使用pxd的方式来安装一个PolarDB-X的集群。大家在体验的时候,可以直接根据官网的教程来进行安装即可。下面直接演示下操作步骤。
一、准备3台服务器
序号 | ip地址 | 规划的角色 | 配置 | 操作系统 |
1 | 172.22.32.4 | gms节点、cdc节点 | 4H8G | centos 8.4 |
2 | 172.22.32.17 | cn节点、dn节点 | 4H8G | centos 8.4 |
3 | 172.22.32.12 | cn节点、dn节点 | 4H8G | centos 8.4 |
二、安装docker
在这里需要在3台服务器上都安装docker,部署方式可以参考《docker安装》。这里安装的时候需要注意下,docker的版本必须大于等于18.04,低于这个版本都不行。
备注:
1、3台服务器都需要安装docker
三、安装python3
centos8.x版本默认的python版本就是python3。如果是其他的centos版本,则需要安装python3,安装步骤如下:
#安装python yum install -y python3 # 创建一个 Python3 的 virtual environment 环境 python3 -m venv venv 、 激活virtual environment 环境 source venv/bin/activate
备注:
1、3台服务器都需要是python3的环境
四、配置ssh免密码登录
这里需要配置集群服务器之间的ssh免密码登录,配置的话可以根据下面的命令进行操作
# 生成密钥对 ssh-keygen -t rsa # 复制免登公钥到目标机器,修改user和ip ssh-copy-id {user}@{ip}
备注:
1、3台服务器之间,需要任意两两服务器都能ssh免密码登录,所以先在各服务器上只是ssh-keygen -t rsa,再挨个在每台服务器上执行ssh-copy-id {user}@{ip}。这里我们执行的是:
ssh-copy-id root@172.22.32.4 ssh-copy-id root@172.22.32.17 ssh-copy-id root@172.22.32.12
五、在每一台服务器上创建python3的虚拟环境
这里可以使用如下的命令创建python3的虚拟环境
python3 -m venv venv source venv/bin/activate
这里我们按照官网来操作即可,在这3台服务器上都添加此命令。
六、安装pxd
这里安装pxd的时候,我们只需要在其中一台服务器上安装即可,这里我们选择的是在172.22.32.4这台服务器上创建pxd。执行如下命令即可:
pip install --upgrade pip pip install pxd
然后等待安装即可,安装成功的话,会出现如下的提示:
此时我们可以敲击下pxd命令,就可以看到有自动提示出来。
七、创建PolarDB-X的拓扑文件
这里PolarDB-X的拓扑文件是yaml格式的,因此我们创建一个polardbx.yml的空文件,然后把下面配置内容粘贴进去
version: v1 type: polardbx cluster: name: pxc_test gms: image: polardbx/galaxyengine:latest host_group: [172.22.32.4] cn: image: polardbx/galaxysql:latest replica: 2 nodes: - host: 172.22.32.17 - host: 172.22.32.12 resources: mem_limit: 4G dn: image: polardbx/galaxyengine:latest replica: 2 nodes: - host_group: [172.22.32.17] - host_group: [172.22.32.12] resources: mem_limit: 4G cdc: image: polardbx/galaxycdc:latest replica: 1 nodes: - host: 172.22.32.4 resources: mem_limit: 4G
这里根据实际的规划和整个服务器的配置进行配置即可。
八、安装PolarDB-X
上面我们创建了polarDB-x的集群拓扑文件,这里我们直接根据对应的拓扑文件直接创建集群就可以了,安装方式是执行如下的命令:
pxd create -file polardbx.yml
此时等待他的安装即可,安装完毕后会出现如下图的情况
这里就代表我们的PolarDB-x已经安装完毕了,日志最后的账号和密码一定要记下来,只会显示一次。
九、查看下对应的docker进程
在这里我们的3台服务器上都应该有对应的进程了,首先我们看第一台,应该有gms和cdc的进程
第二台服务器上应该有cn和dn的进程
第三台服务器上应该有cn和dn的进程
十、测试连接
使用navicat连接即可。
备注:(重要说明,重要说明,重要说明)
1、本文是按照官网的介绍挨个步骤进行操作的,但是在部署完毕之后,发现连接不上,我使用docker进入到cn节点的时候,发现tddl.log一直报错,也就是当前的cn节点启动的时候A连接B,B连接A的同步连接不上,然后我使用netstat -an | grep ${端口} 发现这个docker里面没有开放这个端口,也就是对应端口的服务应该没启动起来。
2、我在docker里面查看除tddl之外的日志,目测下来都没啥报错信息,只有这个tddl.log会报错。
3、使用docker进入到其他的容器例如:cdc,gms,dn节点都没看到报错信息。只有这个cn节点会报错,仔细核对了官网的挨个介绍,重复循环的步骤重新操作还是一样的。找不到哪里的问题,目测可能是当前docker版本拉下来的配置有问题。
4、这是一篇失败的文章。这是一篇失败的文章。这是一篇失败的文章。
还没有评论,来说两句吧...