如何一键安装部署PolarDB-X

简介: 《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署PolarDB-X。

如何一键安装部署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报错,是因为PolarDB-X集群容器在启动中,请您耐心等待三分钟后,重新执行登录命令即可。

  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镜像安装PolarDB-X您已全部体验完毕。
docker stop some-polardb-x

5. (选做)步骤五:使用PXD工具一键安装PolarDB-X

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

说明:在体验如何使用PXD工具一键安装PolarDB-X之前,请您确定已停止通过Docker镜像安装PolarDB-X的集群。

  1. 安装 PXD

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

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

  1. 执行如下命令,创建并激活虚拟场景。
python3 -m venv venv
source 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安装PolarDB-X

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

说明:在体验如何通过Kubernetes安装PolarDB-X之前,请您确定已停止通过PXD工具一键安装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-amd64
sudo 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.ustc.edu.cn --kubernetes-version 1.23.3

返回结果如下,表示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/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分布式数据库了。

c. 执行如下命令,删除PolarDB-X集群。

说明:您需要将命令中的替换为上一步骤的命令返回结果中的name,例如polardb-x。

kubectl delete polardbxCluster  <name>

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

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

说明:在体验如何使用源码编译安装PolarDB-X之前,请您确定已删除通过Kubernetes安装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的应用开发之旅,敬请期待。

实验链接:https://developer.aliyun.com/adc/scenario/b299867c133b46688912399149997335

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
18天前
|
关系型数据库 MySQL 分布式数据库
[PolarDB实操课] 05.通过源码部署PolarDB-X标准版
本课程介绍如何通过源码部署PolarDB-X标准版,涵盖基于Paxos的MySQL三副本工作原理和技术特点。主要内容包括: 1. **Paxos三副本工作原理**:讲解Leader和Follower节点的角色及数据同步机制。 2. **技术特点**:强调高性能、数据不丢失(RPO=0)和自动HA切换。 3. **源码部署步骤**:详细演示从编译生成RPM包到启动DN节点的过程,包括配置my.cnf文件和初始化数据库。 4. **高可用体验**:通过三台机器模拟三副本集群,展示Leader选举和故障转移机制,确保数据一致性和服务可用性。
|
18天前
|
关系型数据库 编译器 分布式数据库
PolarDB实操课] 04.通过源码部署PolarDB-X企业版
本次课程由PolarDB开源架构师王江颖分享,详细介绍了通过源码部署PolarDB-X企业版的全过程。主要内容包括: 1. **编译基础** 2. **使用源码编译部署PolarDB-X企业版** 3. **演示实例**:通过阿里云ECS进行实际操作演示,从创建用户、赋予权限到最终启动并连接PolarDB-X数据库,展示了完整的部署过程。 4. **总结**
|
18天前
|
弹性计算 关系型数据库 PolarDB
[PolarDB实操课] 03.使用PXD部署PolarDB企业版和标准版
本课程详细介绍了如何使用PXD工具部署PolarDB-X企业版和标准版。主要内容包括: 1. **PolarDB-X企业版与标准版的区别**:讲解了两者的架构特点、性能差异及适用场景。 2. **集群机器上安装Docker环境**:指导用户在阿里云ECS实例上安装Docker,确保后续部署顺利进行。 3. **部署机上安装PXD**:介绍如何配置密钥连接、安装Python3并激活虚拟环境,最后安装PXD工具。 4. **创建并部署PolarDB-X**:通过编写拓扑文件(YAML格式),一键拉起PolarDB-X集群,并验证部署状态。
|
3月前
|
关系型数据库 Linux 分布式数据库
rpm安装polarDB-PG的实践
安装PolarDB for PostgreSQL的实践,需要帮助到有同样需要的小伙伴
213 2
|
3月前
|
数据库
|
4月前
|
存储 关系型数据库 MySQL
阿里云PolarDB解决游戏行业全球部署高并发问题
阿里云PolarDB解决游戏行业全球部署高并发问题
|
5月前
|
Kubernetes 关系型数据库 分布式数据库
PolarDB在混合云环境下的部署策略与挑战
【9月更文挑战第5天】随着云计算技术的发展,混合云成为众多企业首选,以满足数据管理和业务扩展需求。阿里巴巴自研的PolarDB是一款高性能云原生数据库,在混合云中可通过多种方式部署,如Kubernetes,实现资源弹性伸缩及自动化管理,并支持跨平台数据同步与金融级高可用性。然而,混合云环境下也带来了复杂性、成本优化及运维难度等挑战,企业需综合考虑平台兼容性、安全性和资源投入比例等问题。
143 5
|
5月前
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【9月更文挑战第8天】作为技术爱好者的我,近期成功完成了开源 PolarDB-X 的部署安装。尽管过程中遇到不少挑战,但通过精心准备环境、下载安装包、配置参数及启动服务等步骤,最终顺利实现部署。本文将详细介绍部署全过程及可能遇到的问题,为您的 PolarDB-X 探索之旅提供参考与启发,希望能让大家在技术海洋里畅游得更加顺利!
213 2
|
6月前
|
监控 Oracle 关系型数据库
PolarDB 在多云环境下的部署与管理
【8月更文第27天】随着云计算的普及和发展,越来越多的企业开始采用多云策略来分散风险、优化成本并提高业务灵活性。阿里云的 PolarDB 是一种兼容 MySQL、PostgreSQL 和 Oracle 的关系型数据库服务,它提供了高性能、高可用性和自动化的管理功能。本文将探讨如何在多云环境下部署和管理 PolarDB 实例,并提供一些实用的代码示例。
133 0
|
6月前
|
Kubernetes Cloud Native 关系型数据库
k8s 部署polardb-x集群
k8s 部署polardb-x集群
229 0