首页 > 数据库 >DBA福利:云原生分布式数据库 PolarDB-X 操作指南

DBA福利:云原生分布式数据库 PolarDB-X 操作指南

时间:2024-09-02 17:24:33浏览次数:10  
标签:DBA 数据库 example pxd 安装 PolarDB polardbx 分布式



DBA福利:云原生分布式数据库 PolarDB-X 操作指南

  • 前言
  • 准备工作
  • 在 Windows 上准备测试环境
  • 环境操作说明
  • 安装PXD
  • 使用PXD一键安装PolarDB-X
  • 方式一
  • 方式二
  • 操作说明
  • 体验 PolarDB-X
  • 源码编译安装PolarDB-X
  • 编译 PolarDB-X DN
  • 体验感受


前言

作为开发者,数据库可以说与开发者息息相关,一个系统是否能够应对超高并发、海量存储、复杂查询场景,数据库的选择在其中起着决定性的作用,一款好的数据库,足以带来应用系统性能的几何级提升。那么【PolarDB-X 作为面向超高并发、海量存储、复杂查询场景设计的云原生分布式数据库系统,采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。】可以说是数据库选择的不二选择,另外PolarDB-X 为双十一海量数据库的处理提供强力支撑,是一款经过多种核心业务场景验证的、成熟稳定的数据库系统。
那么如何上手体验 PolarDB-X 数据库,要想上手体验 PolarDB-X 数据库,你将使用到 PXD 工具。

准备工作

在正式安装PolarDB-X 数据库之前,首先需要先安装 Python3 和 Docker,目前支持的有以下几种操作系统的环境准备工作,您可以根据自己的需要选择

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库


有需要的可以直接去文档中查看:https://openpolardb.com/document?type=PolarDB-X 比如在windows上准备测试环境

在 Windows 上准备测试环境

Windows 平台上一般使用 WSL 来运行 PolarDB-X,那么因此需要先安装 WSL,那么在安装之前,为了便于管理安装文件,这里我在我windows系统的非系统盘创建一个文件夹 PolarDB-X 用于放置后续安装操作的文件

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_02


进入文件夹 PolarDB-X 之后,使用快捷键 Ctrl+Shift+鼠标右键,选择【在此处打开Powershell窗口】以管理员身份打开

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_云原生_03


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

wsl --install

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_04


执行命令,等待安装结束

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_dba_05


安装结束后需要重启电脑,重启完电脑之后继续进行后续的操作。那么准备完环境之后,就可以进行后续操作了。

安装完 WSL 之后还需要安装 Docker Desktop 、Python3、pip、MySQL 命令行工具,详细的操作大家可以参考文档中的操作即可

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库_06

环境操作说明

需要注意的是,在准备工作中,以上5步中工具的安装都比较耗时,大家需要耐心等待,若是遇到下载失败的情况,建议再次尝试操作,整个过程可能会受到网络影响,因此一定需要耐心,再耐心。还有就是需要说明的是,在以上5步的操作过程中,有的操作是需要重启电脑的,为了保证安装的顺利进行,需要重启电脑的操作一定要先重启之后再进行后续的步骤操作。

安装PXD

推荐使用 virtual environment 安装 PXD 工具,执行命令

python3 -m venv venv
source venv/bin/activate

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

pip install --upgrade pip

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_云原生_07


执行如下命令安装 pxd

pip install pxd

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

pxd version

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_08

使用PXD一键安装PolarDB-X

PolarDB-X 企业版是分布式架构集群,支持更大数据量,面向具备企业级超高并发、大规模数据复杂查询、加速分析的业务场景。 一共有两种方式可以实现,你只需要选择其中一种即可。

方式一

直接运行 pxd tryout 命令会创建一个最新版本的 PolarDB-X 企业版集群,其中 GMS, CN, DN, CDC 节点各 1 个,执行命令

pxd tryout

如果执行命令报错如下

Error: pxc-tryout pxc cluster is already existing, please use `pxd delete pxc-tryout` to remove it first.

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库_09


建议你按照提示执行命令

pxd delete pxc-tryout

执行完成之后再次执行上面命令 pxd tryout 即可

方式二

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

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

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_dba_10


通过如下命令,指定 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 tryout -leader_only false

说明:【三副本模式需要 pxd版本>=0.3.0】

部署成功如下图,红框部分是PolarDB-X 数据库创建完成后输出的连接信息,其中管理员账号和密码为随机生成,自行保存

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库_11

操作说明

整个部署 PolarDB-X 的过程大概需要10分钟往上,因此不要着急,耐心等待部署完成,一直等到最终的部署成功结果返回。

体验 PolarDB-X

PolarDB-X部署成功之后会输出执行命令,复制红框中的执行命令执行

mysql -h127.0.0.1 -P51039 -upolardbx_root -pJkDXeduS

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_12


连接 PolarDB-X 服务成功之后就可以执行如下SQL 命令。

执行如下SQL语句,检查GMS

select * from information_schema.schemata;

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_dba_13


执行如下SQL语句,创建数据库分区表

create database polarx_example partition_mode='partitioning';

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

use polarx_example;

执行如下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;

执行 SLQ 时报错

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_云原生_14


注意:在多次检查确定 SQL 没有问题之后,后来又删除了 drop database polarx_example; 重新创建之后,发现原来没有切换为 polarx_example 数据库 导致,切换数据库之后再创建数据表就执行成功了。

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_15


向example数据表中插入数据

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

查询example表所有数据

select * from example;

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_16


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

show topology from example;

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_17


可以看到example数据表分布在8个分区.

执行如下SQL语句,检查CDC

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

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_18


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

show storage;  
show mpp;

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_云原生_19


退出数据库

exit

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_20


查看当前环境的PolarDB-X状态

pxd list

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_21


清理本地环境所有的PolarDB-X

pxd cleanup

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_22

源码编译安装PolarDB-X

针对于源码编译安装 PolarDB-X 的话,建议参考文档中提到的 CentOS7和Ubuntu20操作系统,准备工作参考部署文档中的操作即可,官方文档:https://openpolardb.com/document?type=PolarDB-X 下面我们开始执行源码编译安装 PolarDB-X 操作。

编译 PolarDB-X DN

这里的 DN 就是存储节点,代号polardbx-engine 首先需要安装依赖(CentOS7),这里示例内容为 CentOS7 安装依赖,执行命令 安装 cmake3

yum install cmake3
ln -s /usr/bin/cmake3 /usr/bin/cmake

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_dba_23


安装GCC7

执行命令 安装GCC7

yum install centos-release-scl
yum install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库_24


最后执行命令,安装依赖

yum install make automake git openssl-devel ncurses-devel bison libaio-devel

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_25


到这里依赖安装完成之后,就可以进行后续操作。下面开始编译安装 polardbx-engine ,依次执行以下命令,下载过程较慢,需要耐心等待

这里建议您可以一次性把准备工作中需要的四个源码都下载了,下载命令如下

git clone https://github.com/polardb/polardbx-engine.git
git clone https://github.com/polardb/polardbx-sql.git
git clone https://github.com/polardb/polardbx-glue.git
git clone https://github.com/polardb/polardbx-cdc.git

执行结果依次如图,其中 polardbx-engine 比较大,下载耗时最久

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_数据库_26


DBA福利:云原生分布式数据库 PolarDB-X 操作指南_dba_27


DBA福利:云原生分布式数据库 PolarDB-X 操作指南_PolarDB-X_28


DBA福利:云原生分布式数据库 PolarDB-X 操作指南_云原生_29


继续执行后面操作 编译安装 polardbx-engine

# 进入 polardbx-engine 代码路径
cd polardbx-engine

# 安装boost1.70 (注:把boost放到仓库里避免下载)
wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
mkdir extra/boost
cp boost_1_70_0.tar.gz extra/boost/

# 编译安装
# 详细参数请参考 https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html
cmake .                                   \
    -DFORCE_INSOURCE_BUILD=ON           \
    -DCMAKE_BUILD_TYPE="Debug"          \
    -DSYSCONFDIR="/u01/mysql"           \
    -DCMAKE_INSTALL_PREFIX="/u01/mysql" \
    -DMYSQL_DATADIR="/u01/mysql/data"   \
    -DMYSQL_MAINTAINER_MODE=0           \
    -DWITH_SSL=openssl                  \
    -DWITH_BOOST="./extra/boost/boost_1_70_0.tar.gz"
make -j8
make install

在执行过程中,报错了,提示如下

DBA福利:云原生分布式数据库 PolarDB-X 操作指南_SQL_30


执行报错信息中命令

yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils

执行完成后重新执行上面的 cmake 命令及后续,后续的安装也按照官方文档中的描述进行即可,这里需要注意的是在 编译和安装polardbx-sql & polardbx-glue代码 时,需要先安装 安装依赖 JDK 1.8 和 Maven 3。
本文主要是使用 PXD 一键安装 PolarDB-X 。个人觉得通过源码编译安装 PolarDB-X 真的是相当费时间,且中途由于命令行比较多,很容易出错,且有时候并不是文档中命令行的错误,而是由于环境不同导致的报错,对于有错误提示解决办法的可以按解决办法执行,对于没有提示解决办法的,个人去搜索查找就比较耗时,且不是很容易找到解决方案。因此个人建议还是使用第一种方案,使用 PXD 一键安装 PolarDB-X 比较方便易操作。

体验感受

到这里关于 PolarDB-X 环境准备以及 PXD的安装、PolarDB-X 的部署操作就都完成了,整体上按照文档中提供的操作基本上没有问题,只是在操作中需要注意操作步骤顺序,漏操作可能会导致部署失败。另外关于 PolarDB-X 数据库的 SQL 操作,正如 PolarDB-X 的产品介绍中提到的一样【高度兼容 MySQL 系统及生态】,确实是兼容,SQL 语法及使用习惯上完全没有变化,因此这一点对于开发者来说也是极大的便利。对于开发者来说,只需要切换数据库连接路径中的ip地址及端口即可,在使用上并没有什么变化,极大的降低了开发者对云原生分布式数据库 PolarDB-X 的学习成本,甚至可以说是0成本接入 云原生分布式数据库 PolarDB-X。


标签:DBA,数据库,example,pxd,安装,PolarDB,polardbx,分布式
From: https://blog.51cto.com/u_10917175/11899599

相关文章

  • Java服务端数据库事务:分布式事务的实现
    Java服务端数据库事务:分布式事务的实现大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在分布式系统中,数据库事务管理变得复杂,因为事务可能涉及多个服务和数据库。分布式事务确保跨多个服务的数据一致性。本文将探讨分布式事务的实现策略,以及如何在Ja......
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方配置详解
    Nodeconfiguration(节点配置)节点配置允许您为集群中的各个节点自定义和优化设置。它被分为几个部分:常规配置设置:共享的顶级属性Storage(存储)设置:在storage部分定义https://quickwit.io/docs/configuration/node-config#storage-configurationMetastore(元存储)设置:在metastore......
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎-官方教程
    快速上手在本快速入门指南中,我们将安装Quickwit,创建一个索引,添加文档,最后执行搜索查询。本指南中使用的所有Quickwit命令都在CLI参考文档中进行了记录。https://quickwit.io/docs/main-branch/reference/cli使用Quickwit安装程序安装QuickwitQuickwit安装程序会自动为您......
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 从不同的来源摄取数据
    摄取API在这节教程中,我们将介绍如何使用IngestAPI向Quickwit发送数据。要跟随这节教程,您需要有一个本地的Quickwit实例正在运行。https://quickwit.io/docs/get-started/installation要启动它,请在终端中运行./quickwitrun。创建索引首先,我们创建一个无模式的索引。#Crea......
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之日志管理
    Quickwit从底层构建,旨在高效地索引非结构化数据,并在云存储上轻松搜索这些数据。此外,Quickwit开箱即支持OpenTelemetrygRPC和HTTP(仅protobuf)协议,并提供了一个RESTAPI,可以接收任何JSON格式的日志。这让Quickwit成为了日志的理想选择!.https://quickwit.io/docs/guides/......
  • 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 可观测性之分布式追踪
    概述分布式追踪是一种跟踪应用程序请求流经不同服务(如前端、后端、数据库等)的过程。它是一个强大的工具,可以帮助您了解应用程序的工作原理并调试性能问题。Quickwit是一个用于索引和搜索非结构化数据的云原生引擎,这使其非常适合用作追踪数据的后端。此外,Quickwit本地支持OpenTel......
  • 文章标题:Java中的分布式缓存策略:从原理到实现的深度解析
    在现代分布式系统中,缓存是提高系统性能和响应速度的关键组件之一。尤其是在Java开发中,分布式缓存不仅可以大幅降低数据库的负载,还能显著提高数据访问的速度。本篇博客将详细解析Java中的分布式缓存策略,从基本原理到实际实现,带你全面了解分布式缓存的奥秘。一、为什么需要分布......
  • 分布式概念及选举算法
    概念  由很多自主的计算机组成。很容易地把运行在不同计算机上的不同应用程序集成到单个系统中。清晰的记录接口。轻松的扩展。分布式类型:分布式计算系统、分布式信息系统(数据处理)互斥    集中式算法      每个程序在需要访问临界资源时,先给协调......
  • 探索Java中的分布式任务调度:从理论到实践
    引言在现代企业级应用中,定时任务调度是一项至关重要的功能。无论是数据备份、日志清理还是批处理任务,都离不开任务调度系统。随着系统的规模和复杂度的增加,传统的单机任务调度已经无法满足需求。因此,分布式任务调度应运而生。本篇博文将详细介绍Java中的分布式任务调度,从基本......
  • Git 基本工作(最先进的分布式版本控制系统)
    1、Git,首先,在https://github.com注册一个新用户。2、下载安装Git,http://git-scm.com/downloads3、或者用淘宝镜像:https://registry.npmmirror.com/binary.html?path=git-for-windows4、Git配置:打开gitbash命令窗口,执行:其中""的内容为个人内容gitconfig--globaluser.......