体验简介

场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器)。通过本教程的操作,您能够在一台CentOS 8.5操作系统的ECS实例上通过Docker镜像部署PolarDB-X。立刻点击返回

试验筹备

1. 步骤一:创立试验资源

开始试验之前,您须要先创立ECS实例资源。

  1. 在实验室页面,单击创立资源

阐明:资源创立过程须要1~3分钟。

  1. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次试验资源相干信息(例如IP地址、用户信息等)。

2. 步骤二:装置依赖

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

  1. 执行如下命令,装置Docker。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  1. 执行如下命令,启动Docker。
systemctl start docker

3. 步骤三:装置PolarDB-X数据库

本步骤将领导您如何应用Docker镜像装置PolarDB-X。

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

4. 步骤四:体验PolarDB-X数据库

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

PolarDB-X反对通过MySQL Client命令行、第三方客户端以及合乎MySQL交互协定的第三方程序代码进行连贯。本试验场景次要介绍如何通过MySQL Client命令行连贯到PolarDB-X数据库。

  1. 执行如下命令,装置MySQL。
yum install mysql -y
  1. 执行如下命令,查看MySQL版本号。
mysql -V

返回后果如下,示意您已胜利装置MySQL。

  1. 执行如下命令,登录PolarDB-X数据库。
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报错,从新执行登录命令即可。

  1. 执行如下SQL语句,查看GMS。
select * from information_schema.schemata;
  1. 体验PolarDB-X数据库的分布式个性。

    1. 执行如下SQL语句,创立数据库。
create database polarx_example mode='auto'; 
  1. 执行如下SQL语句,应用polarx_example数据库。
use polarx_example;
  1. 执行如下SQL语句,创立数据表。
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;
  1. 执行如下SQL语句,向example数据表中插入数据。
insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);
  1. 执行如下SQL语句,查问example表所有数据。
select * from example;
  1. 执行如下SQL语句,查看example数据表的分区。
show topology from example;

返回后果如下,您能够看到example数据表散布在8个分区。

  1. 执行如下SQL语句,查看CDC。
show master status;show binlog events  in 'binlog.000001' from 4;
  1. 执行如下SQL语句,查看DN和CN。
show storage;  show mpp;
  1. 输出exit退出数据库。

  1. 执行如下命令,进行PolarDB-X容器。
docker stop some-polardb-x

5. (选做)步骤五:应用PXD工具一键装置

PolarDB-X

本步骤将领导您如何应用PXD工具一键装置PolarDB-X,具体文档参考应用PXD工具一键装置PolarDB-X。

  1. 装置 PXD

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

阐明:本试验场景应用virtual environment装置PXD工具。

  1. 执行如下命令,创立并激活虚构场景。
python3 -m venv venvsource venv/bin/activate
  1. 执行如下命令,降级pip。
pip install --upgrade pip
  1. 执行如下命令,装置PXD。
pip install pxd
  1. 部署PolarDB-X。

阐明:部署PolarDB-X有两种形式,请您抉择其中一种形式即可。

  • 形式一:执行如下命令,创立一个PolarDB-X数据库,其中GMS、CN、DN和CDC节点个数为1。
pxd tryout
  • 形式二:执行如下命令,创立一个PolarDB-X数据库,指定CN、DN和CDC节点个数为1以及版本为latest。
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管理员账号的明码随机生成,仅呈现这一次,请留神保留。

  1. 执行如下命令,登录PolarDB-X数据库。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
  1. 体验PolarDB-X。

    1. 执行如下SQL语句,查看GMS。
select * from information_schema.schemata;
  1. 执行如下SQL语句,创立数据库。
create database polarx_example mode='auto'; 
  1. 执行如下SQL语句,应用polarx_example数据库。sd
use polarx_example;
  1. 执行如下SQL语句,创立数据表。
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;
  1. 执行如下SQL语句,向example数据表中插入数据。
insert into example values(null,'lily',375),(null,'lisa',400),(null,'ljh',500);
  1. 执行如下SQL语句,查问example表所有数据。
select * from example;
  1. 执行如下SQL语句,查看example数据表的分区。
show topology from example;

返回后果如下,您能够看到example数据表散布在8个分区。

  1. 执行如下SQL语句,查看CDC。
show master status;show binlog events  in 'binlog.000001' from 4;
  1. 执行如下SQL语句,查看DN和CN。
show storage;  show mpp;
  1. 输出exit退出数据库。

  1. 查看PolarDB-X状态。

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

pxd list

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

  1. 清理PolarDB-X。

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

pxd cleanup

6. (选做)步骤六:应用Kubernetes装置

本步骤将领导您如何创立一个简略的Kubernetes集群并部署PolarDB-X Operator ,应用Operator部署一个残缺的PolarDB-X集群,具体文档请参考通过。

  1. 装置kubectl。

    1. 执行如下命令,下载kubectl文件。
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
  1. 装置minikube。

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

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudo install minikube-linux-amd64 /usr/local/bin/minikube
  1. 装置Helm3。

    1. 执行如下命令,下载Helm3。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/helm-v3.9.0-linux-amd64.tar.gz
  1. 执行如下命令,解压Helm3。
tar -zxvf helm-v3.9.0-linux-amd64.tar.gz
  1. 执行如下命令,挪动到系统目录。
mv linux-amd64/helm /usr/local/bin/helm
  1. 应用minikube创立Kubernetes集群。

minikube是由社区保护的用于疾速创立Kubernetes测试集群的工具,适宜测试和学习Kubernetes。应用minikube创立的Kubernetes集群能够运行在容器或是虚拟机中,本试验场景以CentOS 8.5上创立Kubernetes为例。

阐明:如您应用其余操作系统部署minikube,例如macOS或Windows,局部步骤可能略有不同。

  1. 执行如下命令,新建账号galaxykube,并将galaxykube退出docker组中。minikube要求应用非root账号进行部署,所有您须要新建一个账号。
useradd -ms /bin/bash galaxykube usermod -aG docker galaxykube 
  1. 执行如下命令,切换到账号galaxykube。
su galaxykube
  1. 执行如下命令,进入到home/galaxykube目录。
cd
  1. 执行如下命令,启动一个minikube。

阐明:这里咱们应用了阿里云的minikube镜像源以及USTC提供的docker镜像源来减速镜像的拉取。

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

返回后果如下,示意minikube曾经失常运行,minikube将主动设置kubectl的配置文件。

  1. 执行如下命令,应用kubectl查看集群信息。
minikube kubectl -- cluster-info

返回如下后果,您能够查看到集群相干信息.

  1. 部署 PolarDB-X Operator。

    1. 执行如下命令,创立一个名为polardbx-operator-system的命名空间。
kubectl create namespace polardbx-operator-system
  1. 执行如下命令,装置PolarDB-X Operator。
helm install --namespace polardbx-operator-system polardbx-operator https://github.com/ApsaraDB/galaxykube/releases/download/v1.2.1/polardbx-operator-1.2.1.tgz
  1. 执行如下命令,查看PolarDB-X Operator组件的运行状况。
kubectl get pods --namespace polardbx-operator-system

返回后果如下,请您急躁期待2分钟,期待所有组件都进入Running状态,示意PolarDB-X Operator曾经装置实现。

  1. 部署 PolarDB-X 集群。

    1. 执行如下命令,部署一个PolarDB-X集群,它蕴含1个GMS 节点、1个 CN节点、1个DN节点和1 个CDC节点。
echo "apiVersion: polardbx.aliyun.com/v1kind: PolarDBXClustermetadata:  name: quick-start  annotations:    polardbx/topology-mode-guide: quick-start" | kubectl apply -f -
  1. 执行如下命令,查看创立状态。
kubectl get polardbxcluster -w

返回后果如下,请您急躁期待大概七分钟,当PHASE显示为Running时,示意PolarDB-X集群曾经部署实现。当初您能够开始连贯并体验PolarDB-X分布式数据库了。

7. (选做)步骤七:源码编译装置PolarDB-X

本步骤将领导您如何应用源码编译装置PolarDB-X,具体文档请详见源码编译装置PolarDB-X。

  1. 执行如下命令,装置git。
yum -y install git
  1. 执行如下命令,下载源码。
git clone https://github.com/ApsaraDB/PolarDB-X.git
  1. 执行如下命令,进入PolarDB-X目录。
cd PolarDB-X
  1. 执行如下命令,编译。

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

make
  1. 执行如下命令,运行PolarDB-X。
./build/run/bin/polardb-x.sh start
  1. 执行如下命令,进行PolarDB-X。
./build/run/bin/polardb-x.sh stop

8. 理解更多

无关PolarDB-X Github源码地址请详见PolarDB-X源码,阐明文档请详见PolarDB-X阐明文档。若您对PolarDB-X外部实现原理感兴趣,可关注咱们的知乎官号PolarDB-X。

下个试验咱们将以Spring和WordPress官网教程为例,带你体验Spring Boot+PolarDB-X和WordPress+PolarDB-X的利用开发之旅,敬请期待。