PolarDB-X部署

本步骤将指导您如何安装并启动依赖Docker。

执行如下命令,安装Docker。

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

执行如下命令,启动Docker。

1
systemctl start docker

本步骤将指导您如何使用Docker镜像安装PolarDB-X。

执行如下命令,拉取PolarDB-X容器镜像。

1
docker pull polardbx/polardb-x
  1. 执行如下命令,运行PolarDB-X容器。
1
docker run -d --name some-polardb-x -p 8527:8527 polardbx/polardb-x

本步骤将指导您如何登录PolarDB-X并体验PolarDB-X的分布式特性。

PolarDB-X支持通过MySQL Client命令行、第三方客户端以及符合MySQL交互协议的第三方程序代码进行连接。本实验场景主要介绍如何通过MySQL Client命令行连接到PolarDB-X数据库。

执行如下命令,安装MySQL。

1
yum install mysql -y

执行如下命令,查看MySQL版本号。

1
mysql -V

返回结果如下,表示您已成功安装MySQL。

img

执行如下命令,登录PolarDB-X数据库。

1
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456

说明

本实验场景中的PolarDB-X数据库用户名和密码已预设,请您使用下方命令登录即可。

如遇到mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0报错,重新执行登录命令即可。

执行如下SQL语句,检查GMS。

1
select * from information_schema.schemata;

体验PolarDB-X数据库的分布式特性。

执行如下SQL语句,创建数据库。

1
create database polarx_example mode='auto'; 

执行如下SQL语句,使用polarx_example数据库。

1
use polarx_example;

执行如下SQL语句,创建数据表。

1
2
3
4
5
6
7
8
create table example (
`id` bigint(11) auto_increment NOT NULL,
`name` varchar(255) DEFAULT NULL,
`score` bigint(11) DEFAULT NULL,
primary key (`id`)
) engine=InnoDB default charset=utf8
partition by hash(id)
partitions 8;

执行如下SQL语句,向example数据表中插入数据。

1
insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);

执行如下SQL语句,查询example表所有数据。

1
select * from example;

执行如下SQL语句,查看example数据表的分区。

1
show topology from example;

返回结果如下,您可以看到example数据表分布在8个分区。

img

执行如下SQL语句,检查CDC。

1
2
show master status;
show binlog events in 'binlog.000001' from 4;

执行如下SQL语句,检查DN和CN。

1
2
show storage;  
show mpp;

输入exit退出数据库。

img

执行如下命令,停止PolarDB-X容器。

1
docker stop some-polardb-x

本步骤将指导您如何使用PXD工具一键安装PolarDB-X,详细文档参考使用PXD工具一键安装PolarDB-X

安装 PXD

PXD是PolarDB-X的部署工具,除了支持在本地一键快速拉起测试环境外,也支持在Linux集群中通过指定的拓扑的方式部署PolarDB-X分布式数据库。

说明:本实验场景使用virtual environment安装PXD工具。

执行如下命令,创建并激活虚拟场景。

1
2
python3 -m venv venv
source venv/bin/activate

执行如下命令,升级pip。

1
pip install --upgrade pip

执行如下命令,安装PXD。

1
pip install pxd

部署PolarDB-X。

说明:部署PolarDB-X有两种方式,请您选择其中一种方式即可。

  • 方式一:执行如下命令,创建一个PolarDB-X数据库,其中GMS、CN、DN和CDC节点个数为1。
1
pxd tryout
  • 方式二:执行如下命令,创建一个PolarDB-X数据库,指定CN、DN和CDC节点个数为1以及版本为latest。
1
pxd tryout -cn_replica 1 -cn_version latest -dn_replica 1 -dn_version latest -cdc_replica 1 -cdc_version latest

返回结果如下,表示您已成功部署PolarDB-X数据库,您可以看到输出的连接信息,通过MySQL Client即可连接。

注意:PolarDB-X管理员账号的密码随机生成,仅出现这一次,请注意保存。

img

执行如下命令,登录PolarDB-X数据库。

1
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456

体验PolarDB-X。

执行如下SQL语句,检查GMS。

1
select * from information_schema.schemata;

执行如下SQL语句,创建数据库。

1
create database polarx_example mode='auto'; 

执行如下SQL语句,使用polarx_example数据库。sd

1
use polarx_example;

执行如下SQL语句,创建数据表。

1
2
3
4
5
6
7
8
create table example (
`id` bigint(11) auto_increment NOT NULL,
`name` varchar(255) DEFAULT NULL,
`score` bigint(11) DEFAULT NULL,
primary key (`id`)
) engine=InnoDB default charset=utf8
partition by hash(id)
partitions 8;

执行如下SQL语句,向example数据表中插入数据。

1
insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);

执行如下SQL语句,查询example表所有数据。

1
select * from example;

执行如下SQL语句,查看example数据表的分区。

1
show topology from example;

返回结果如下,您可以看到example数据表分布在8个分区。

img

执行如下SQL语句,检查CDC。

1
2
show master status;
show binlog events in 'binlog.000001' from 4;

执行如下SQL语句,检查DN和CN。

1
2
show storage;  
show mpp;

输入exit退出数据库。

img

查看PolarDB-X状态。

执行如下命令,查看当前环境的PolarDB-X状态。

1
pxd list

返回如下结果,您可查看到PolarDB-X状态。

img

清理PolarDB-X。

执行如下命令,清理本地环境所有的PolarDB-X

1
pxd cleanup

本步骤将指导您如何创建一个简单的Kubernetes集群并部署PolarDB-X Operator ,使用Operator部署一个完整的PolarDB-X集群,详细文档请参考通过

安装kubectl。

执行如下命令,下载kubectl文件。

1
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

执行如下命令,赋予可执行权限。

1
chmod +x ./kubectl

执行如下命令,移动到系统目录。

1
mv ./kubectl /usr/local/bin/kubectl

安装minikube。

执行如下命令,下载并安装minikube。

1
2
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

安装Helm3。

执行如下命令,下载Helm3。

1
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz

执行如下命令,解压Helm3。

1
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz

执行如下命令,移动到系统目录。

1
mv linux-amd64/helm /usr/local/bin/helm

使用minikube创建Kubernetes集群。

minikube是由社区维护的用于快速创建Kubernetes测试集群的工具,适合测试和学习Kubernetes。使用minikube创建的Kubernetes集群可以运行在容器或是虚拟机中,本实验场景以CentOS 8.5上创建Kubernetes为例。

说明:如您使用其他操作系统部署minikube,例如macOS或Windows,部分步骤可能略有不同。

执行如下命令,新建账号galaxykube,并将galaxykube加入docker组中。minikube要求使用非root账号进行部署,所有您需要新建一个账号。

1
2
useradd -ms /bin/bash galaxykube 
usermod -aG docker galaxykube

执行如下命令,切换到账号galaxykube。

1
su galaxykube

执行如下命令,进入到home/galaxykube目录。

1
cd

执行如下命令,启动一个minikube。

说明:这里我们使用了阿里云的minikube镜像源以及USTC提供的docker镜像源来加速镜像的拉取。

1
minikube start --cpus 4 --memory 7168 --image-mirror-country cn --registry-mirror=https://docker.mirrors.ustc.edu.cn

返回结果如下,表示minikube已经正常运行,minikube将自动设置kubectl的配置文件。

img

执行如下命令,使用kubectl查看集群信息。

1
minikube kubectl -- cluster-info

返回如下结果,您可以查看到集群相关信息.

img

部署 PolarDB-X Operator。

执行如下命令,创建一个名为polardbx-operator-system的命名空间。

1
kubectl create namespace polardbx-operator-system

执行如下命令,安装PolarDB-X Operator。

1
helm install --namespace polardbx-operator-system polardbx-operator https://github.com/ApsaraDB/galaxykube/releases/download/v1.1.0/polardbx-operator-1.1.0.tgz

执行如下命令,查看PolarDB-X Operator组件的运行情况。

1
kubectl get pods --namespace polardbx-operator-system

返回结果如下,请您耐心等待2分钟,等待所有组件都进入Running状态,表示PolarDB-X Operator已经安装完成。

img

部署 PolarDB-X 集群。

执行如下命令,部署一个PolarDB-X集群,它包含1个GMS 节点、1个 CN节点、1个DN节点和1 个CDC节点。

1
2
3
4
5
6
echo "apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
name: quick-start
annotations:
polardbx/topology-mode-guide: quick-start" | kubectl apply -f -

执行如下命令,查看创建状态。

1
kubectl get polardbxcluster -w

返回结果如下,请您耐心等待大约七分钟,当PHASE显示为Running时,表示PolarDB-X集群已经部署完成。现在您可以开始连接并体验PolarDB-X分布式数据库了。

img

本步骤将指导您如何使用源码编译安装PolarDB-X,详细文档请详见源码编译安装PolarDB-X

执行如下命令,安装git。

1
yum -y install git

执行如下命令,下载源码。

1
git clone https://github.com/ApsaraDB/PolarDB-X.git

执行如下命令,进入PolarDB-X目录。

1
cd PolarDB-X

执行如下命令,编译。

说明:make将下载所有源码、工具和库,并构建和安装PolarDB-X。源码将下载到./build目录下,编译好的二进制文件将安装到./build/run目录下。您可以运行make clean来移除安装,并尝试再次构建PolarDB-X。您也可以运行make cleanAll来删除./build下的所有东西。这个过程可能需要半个多小时,取决于您的网络带宽。

1
make

执行如下命令,运行PolarDB-X。

1
./build/run/bin/polardb-x.sh start

执行如下命令,停止PolarDB-X。

1
./build/run/bin/polardb-x.sh stop

PolarDB-X部署
https://blog.wongcw.cn/2022/06/09/PolarDB-X部署/
作者
wangcw
发布于
2022年6月9日
许可协议