快速开始

本文介绍如何快速上手体验 PolarDB-X 数据库。要上手 PolarDB-X 数据库,你将使用到 PXD 工具。通过 PXD,你只需执行一行命令就可在本地快速拉起一个 PolarDB-X。

注意:

  • PXD 主要面向的是开发测试场景,生产环境请使用 polardbx-operator 在 K8S 上进行部署

准备工作

通过 PXD 工具部署 PolarDB-X 数据库需要先安装 Python3 和 Docker。下面给出不同操作系统的安装方式。注意请确保您的机器具备访问互联网的能力。

如果您使用的是阿里云ECS,可以参考文档:连接公网概述 为云服务器开通访问互联网的能力。

在 macOS 上准备测试环境

1.安装 Python3

如果你的机器上已经安装了 python3,可以跳过

检查命令:which python3,如果有返回则代表 python3 已安装

推荐使用 Homebrew 安装 python3,如果没有 Homebrew,可参考 Homebrew 官方安装方法:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install python

2.安装 Docker Desktop for Mac,参考文档:https://docs.docker.com/desktop/mac/install/

由于 Docker Desktop for Mac 的默认内存是 2G,无法满足 PolarDB-X 开发测试环境的最低要求, 需要在 Docker Preferences 中将内存调整到8G,如下图所示:

Docker Memory

3.安装 MySQL 命令行工具,参考 MySQL 官方文档:Installing MySQL Shell on macOS

在 CentOS 上准备测试环境

注:包括 Anolis OS

1.安装 Python3

如果你的机器上已经安装了 python3,可以跳过

检查命令:which python3,如果有返回则代表 python3 已安装

yum update -y
yum install -y python3

2.安装 Docker, 详见文档:https://docs.docker.com/engine/install/centos/

安装完成后执行 docker ps 命令验证。如果遇到如下报错,请参考:非 root 用户如何获取 docker 权限

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http:///var/run/docker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

3.安装 MySQL 命令行工具,参考 MySQL 官方文档:Installing MySQL Shell on Linux

在 Ubuntu 上准备测试环境

1.安装 Python3

可在shell中执行 python3 检查 Python3 是否已经安装,若已安装,直接执行第 2 步。

apt-get update
apt-get install python3.8 python3.8-venv

2.安装 Docker, 详见文档:https://docs.docker.com/engine/install/ubuntu/

安装完成后执行 docker ps 命令验证。如果遇到如下报错,请参考:非 root 用户如何获取 docker 权限

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http:///var/run/docker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

3.安装 MySQL 命令行工具,参考 MySQL 官方文档:Installing MySQL Shell on Linux

在 Windows 上准备测试环境

Windows 平台上一般使用 WSL 来运行 PolarDB-X。

1.安装 WSL,参考文档:https://docs.microsoft.com/en-us/windows/wsl/install ,使用默认的 Linux 发行版 Ubuntu

2.安装 Docker Desktop,参考文档:https://docs.docker.com/desktop/windows/wsl/

3.安装 Python3

如果你的机器上已经安装了 python3,可以跳过

apt-get install python3
apt-get install python3-venv

4.安装pip

apt-get install python3-pip

5.安装 MySQL 命令行工具,参考 MySQL 官方文档:Installing MySQL Shell on Microsoft Windows

安装 PXD

注意: 推荐使用 virtual environment 安装 PXD 工具

python3 -m venv venv
source venv/bin/activate

安装前建议先执行如下命令升级 pip

pip install --upgrade pip

执行如下命令安装 pxd:

pip install pxd

注: 部分国内用户从 pypi 下载包的速度较慢, 可以使用如下命令从阿里云的镜像安装:

pip install -i https://mirrors.aliyun.com/pypi/simple/ pxd

执行如下命令验证 pxd 是否安装成功:

pxd version

注意:如果执行上述命令报了如下错误:

Click discovered that you exported a UTF-8 locale but the locale system could not pick up from it because it does not exist.

请执行如下命令后重试:

export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8

部署 PolarDB-X

部署 PolarDB-X 企业版集群

PolarDB-X 企业版是分布式架构集群,支持更大数据量,面向具备企业级超高并发、大规模数据复杂查询、加速分析的业务场景。 直接运行 pxd tryout 命令会创建一个最新版本的 PolarDB-X 企业版集群,其中 GMS, CN, DN, CDC 节点各 1 个:

pxd tryout

如果需要创建指定版本的实例,您可以通过如下命令获取 PolarDB-X 各个组件的最新镜像tag:

curl -s "https://polardbx-opensource.oss-cn-hangzhou.aliyuncs.com/scripts/get-version.sh" | sh

输出内容如下所示(以 PolarDB-X V2.4.0 版本为例):

CN polardbx/polardbx-sql:v2.4.0_5.4.19
DN polardbx/polardbx-engine:v2.4.0_8.4.19
CDC polardbx/polardbx-cdc:v2.4.0_5.4.19

通过如下命令,指定 CN,DN, CDC 节点的个数以及版本:

pxd tryout -cn_replica 1 -cn_version v2.4.0_5.4.19 -dn_replica 1 -dn_version v2.4.0_8.4.19 -cdc_replica 1 -cdc_version v2.4.0_5.4.19

tryout 模式创建的 GMS 和 DN 默认采用单副本模式,如果您想创建基于 Paxos 的三副本的集群,使用如下命令:

pxd tryout -leader_only false

注:三副本模式需要 pxd版本>=0.3.0

PolarDB-X 数据库创建完成后,会输出对应的连接信息:

image.png

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

通过 MySQL Client 即可连接,执行如下 SQL 初步体验 PolarDB-X 的分布式特性。PolarDB-X SQL 详情请参考:SQL 概述

# 检查GMS 
select * from information_schema.schemata;

# 创建分区表
create database polarx_example partition_mode='partitioning';

use polarx_example;

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;

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

select * from example;

show topology from example;

# 检查CDC
show master status ;
show binlog events in 'binlog.000001' from 4;


# 检查DN和CN
show storage ;  
show mpp ;

部署 PolarDB-X 标准版集群

PolarDB-X 标准版采用一主一备一日志的三节点架构,性价比高,通过多副本同步复制,确保数据的强一致性。面向具备超高并发、复杂查询及轻量分析的在线业务场景。

注:标准版集群创建依赖 pxd版本>=0.6.0

  • 执行如下命令会创建一个最新版本的 PolarDB-X 标准版集群,其中 GMS, CN, CDC 个数为0,仅包含一个DN节点。
    pxd tryout -t standard
    
  • tryout 模式创建的集群采用单副本模式,如果您想创建基于 Paxos 的一主一备一日志的三节点集群,使用如下命令:
    pxd tryout -t standard -leader_only false
    

PolarDB-X 数据库创建完成后,会输出对应的连接信息:

image.png

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

通过 MySQL Client 即可连接。执行如下 SQL 体验PolarDB-X 标准版三节点架构的特性:

# 查询三节点的拓扑信息与状态
select * from information_schema.alisql_cluster_global;

# 查询三节点的延迟信息
select * from information_schema.alisql_cluster_health;

查看 PolarDB-X 状态

执行如下命令,查看当前环境的 PolarDB-X 列表:

pxd list

清理 PolarDB-X

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

pxd cleanup

集群部署

PXD 除了支持在本地一键创建实例外,也支持在 Linux 集群部署 PolarDB-X,请参考:使用 PXD 在集群部署 PolarDB-X

FAQ

非 root 用户如何获取 docker 权限

1.创建 docker 用户组,其实 docker 安装时会自动创建一个名为 docker 的用户组,可以通过查看 /etc/group 确认 docker 用户组的存在,如若不存在则手动创建 docker 用户组

sudo groupadd docker

2.添加当前非 root 用户到 docker 用户组中

sudo gpasswd -a ${USER} docker

3.将当前非 root 用户的 group 切换到 docker 用户组或者退出后重新登录

newgrp docker

4.执行 docker ps 验证

PolarDB-X 端口占用说明

目前本地测试模式,CN,DN,GMS 节点各会占用一个端口,该端口随机生成,如果因为端口冲突导致 PolarDB-X 创建失败,请执行 pxd cleanup 或者 pxd delete {集群名} 清理后重新创建即可。

results matching ""

    No results matching ""