如何-键安装部署 PolarDB-X|学习笔记(二)

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 快速学习如何-键安装部署 PolarDB-X

开发者学堂课程【如何-键安装部署 PolarDB-X如何-键安装部署 PolarDB-X】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/981/detail/14923


如何一键安装部署 PolarDB-X

第二个是创建一个数据库

mysql>create database pdlarx_example partition_mode-'partitioning';

Query OK,1 row affected (0.26 sec)

mysql> |

接下来在里面建个表

mysql> use polarx_example;

Database changed

mysql>

mysql> create table example(

-> “id` bigint(11) auto_increment NOT NULL,

-> namevarchar(255) DEFAULT NULL,

-> score`bigint(11) DEFAULT NULL,

-> primary key (`id`)

->)engine=InnoDB default charset=utf8 ->partition by hash(id) -> partitions 8;

这边可以明确显示出是通过id进行一个分区,有8个分区的这样一个表。

show topelogy这个命令就是来看表的特库,表显示八个分区标有编号00000--000007。

mysql> show master status ;

 IFILE

POSITION

BINLOG_DO_DB

IBINLOG_IGNORE_DB

EXECUTED_GTID_SET

binlog.000001

 

4781

 

 

1 row in set (1.25 sec)

mysql>

mysql>

可以了解到一个文件,他的位点写到了4781。

看一下位置show binlog events in 'binlog.000001’ from 4;

查看beloge的指令

这样就完成了PolarDB-X实例在本地的拉起和体验。除了拉起还有管理,比如list,可以看本地创建了几个PDX实例和集群,目前就一个叫做pxc-tryout。

(venv) free6om@free6om ~/I/venv> pxd list

/Users/free6om/IdeaProjects/venvib/python3.9/site-packages/deployer

NAME       CN      DN      CDC     STATUS

pxc-tryout   1        1        1       running

(venv)free6om@free6om ~/I/venv>

如果在本地不想用它,可以用cleanup指令,这里注意这个指令删除是将本地数据也一键被删除。

(venv)free6om@free6om ~/I/venv> pxd cleanup

/Users/free6om/IdeaProjects/venv//ib/python3.9/site-packages/deployer

Prepare to delete all PolarDB-Xclusters

All PolarD8-X clusters will be deleted, do you want to continue?[y/N]:

Aborted!

(venv)free6om@free6om~/I/venv[011]>

(venv)free6om@free6om~/I/venv [011]>

(venv)free6om@free6om~/I/venv [011]>

(venv)free6om@free6om ~/I/venv[011]>

可以用docker命令进行验证,从名字可以看出gms和dn是共用一个镜像的,也就是可以把gms看成一个特殊的dn。

也可以使用docker的面板直接连到gms容器里面

(venv)free6om@free6om ~/I/venv> docker exec -it 29ac5271d9fe /bin/bash

[root@29ac5271d9fe /]#Imyc

Welcome to the MySQL monitor.Commands end with ;or \g.

Your MySQL connection id is 63

Server version: 8.0.18 Source distribution

Copyright(c)2000,2019, 0racle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Dracle Corporation and/or its

affiliates. Other names may be trademarks of their respective owners.

Type'help;’or '\h’for help. Type '\c’ to clear the current input statement.

mysql>

直接连接到gms库的一个命令,myc可以连接到gms里面去看一下原数据的特库结构。像user_priv这个表,用来存系统当中建立的账号。

mysql> exit

Bye

[root@29ac5271d9fe /]# exit

exit

(venv)free6om@free6om ~/I/venv>

退出容器

2. 其实PXD这个工具,在刚才的讲解中得知拉起来一个cn,一个dn,一个cpc这样一个集群。如果想拉起多个也可以通过PXD来拉起,前面的准备工作都是一样的,唯一的差别第一个就是可以指定机器给特库关系写好,第二个就是通过pxd  create的分布式pxd放入一个k8s的一个集群给他拉起。

3. 通过k8s部署

K8s体验会依赖几个东西,第一个叫minikube,第二个是docker,

第三个是helm。首先安装这几个在电脑里面。操作时可以建立一个非root账号,也可以用文件当中写的galaxykube这个账号名称,都需要将创建的账号加到docker这个组里面。

准备工作做好后就可以在机器上面启动一个

minikube start --cpus 4 -nemory 7960 --1mage-mirror-country cn --registry-airrorshttps://集群

接下来推荐安装minikube‘minikube kubectl

装好之后可以查看一下建立的集群的状态是否ok

admin@polardb-x-demo:~$ alias kubectl-"minikube kubectl admin@polardb-x-demo:~$ kubectl cluster-info

Kubernetes control plane is running at https://192.168.49.2:8443

CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump’.

admin@polardb-x-demo:~$/

可以看到running证明这个集群是可以运行的

接下来部署PolarDB-X Operator

推荐一些配置,例如

已经准备了一个运行中的 Kubernetes 集群,并确保

(1).集群版本>=1.18.0

(2).至少有2个可分配的CPU

(3).至少有4GB的可分配内存

(4).至少有30GB以上的磁盘空间

已经安装了kubect可以访问Kubernetes集群

已经安装了Helm 3

之后建造一个PolarDB-X空间

admin@polardb-x-demo:~$ kubectl create namespace polardbx-operator-system namespace/polardbx-operator-systemcreated admin@polardb-x-demo:~$

安装PolarDB-X

admin@polardb-x-demo:~$ helm install --namespace polardbx-operator-systempolardbx-operatorhttps://github.com/ApsaraDB/galaxykube/releases/download/v1.0.0/polardbx-operator-1.0.0.tgz

operator目前是直接打包在git仓库里面的,对应额仓库的名称叫galaxykube

如果看到这段话的话证明operator已经安装好了

‘’’yaml

apiVersion: polardbx.aliyun.com/v1

kind: PolarDBXCluster metadata:

name:quick-start 。

annotations:

polardbx/topology-mode-guide:quick-start

可以进一步看一下里面的状态

admin@polardb-x-demo:~$ kubectl get pods --namespace polardbx-operator-system

NAME   READY     STATUS    Running    RESTARTS   AGE

polardbx-controller-manager-7fbc6b97c9-sl2sm

1/1 Running 0 28s

polardbx-hpfsItipcn

1/1 Running 0 28s

polardbx-tools-updater-nf9jk

1/1 Running 0 28s

admin@polardb-x-demo:~$

都是 Running状态,跟文档里面展示的一样,接下来就可以建立PolarDB-X集群了

admin@polardb-x-demo:~$echo"apiVersion:polardbx.aliyun.com/v1

>kind:PolarDBXCluster

>metadata:

>name:quick-start

>annotations:

>polardbx/topology-mode-guide: quick-start" I kubectl apply-f-

接下来一个k8s就在创建当中了

admin@polardb-x-demo:~$ kubectl get polardbxcluster -w

NAME      GMS  CN  DN  CDC  PHASE  DISK  AGE

quick-start  0/1  0/1  0/1  0/1  Creating      12s

4. 这是PolarDB-X创建的过程,第一次创建可能会久一点,因为他会有一个拉镜像的过程。这步意味着通过PolarDB-X创建的k8s集群已经创建成功了,就可以连接到实例上面进行一些操作。同时这个文档给了一个可以原路返回时的一个过程,例如可以销毁刚才创建的PolarDB-X集群,或者卸载PolarDB-X Operator,也可以进一步将minikube集群给停止掉。

5. 如果通过源码直接安装PolarDB-X

准备工作

下载GalaxyEngine 代码,main分支

下载GalaxySQL 代码,main分支

下载GalaxyGlue代码,main分支(可忽略)

下载 GalaxyCDC 代码。main分支

admin@polardb-x-demo:~$ cd polardb-x-source/

admin@polardb-x-demo:~/polardb-x-source$ ls

boost_1_70_0.tar.gz galaxycdc galaxyengine galaxyglue galaxysql run

admin@polardb-x-demo:~/polardb-x-source$

下载之后进行编译的过程(存储节点,代号GalaxyEngine)

yum inltall cmake)

in-5/us/bin/cmake3/usr/bin/cnake

安装GCC7

yum install centos-release-sct

yum instalt devtoolset-7-gcc devtooset-7-gc-c+* devtoolset-7-binutits

echo "source /apt/rh/devtoolset-7/enable”p>/etc/profile

安装依赖

yum install nake automake git openss1-devel ncurses-devel bison libain-devel

目前已经在CentOS7和Ubuntu20进行过测试

#安装GCC7

apt install -y gcc-7Q++-7

update-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-760\

--slave /usr/bin/g++g++/usr/bin/g++-7

update-alternatives--config gcc

gcc--version

g++ --version

#安装信助

apt install make automake git bison libaio-dev libncurses-devlibsas12-dev libldap2-dev

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
存储 关系型数据库 分布式数据库
PolarDB 安装与配置 | 学习笔记
快速学习 PolarDB 安装与配置
PolarDB 安装与配置 | 学习笔记
|
3月前
|
SQL 关系型数据库 分布式数据库
PolarDB操作报错合集之安装时出现报错,一般是什么导致的
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
|
3月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用合集之迁移 PolarDB 的数据并启动新的镜像的步骤是什么
PolarDB是阿里云推出的一种云原生数据库服务,专为云设计,提供兼容MySQL、PostgreSQL的高性能、低成本、弹性可扩展的数据库解决方案,可以有效地管理和优化PolarDB实例,确保数据库服务的稳定、高效运行。以下是使用PolarDB产品的一些建议和最佳实践合集。
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用合集之PolarDB MySQL标准版中带有分区功能吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
SQL 存储 分布式数据库
实践教程之PolarDB-X分区管理
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何进行PolarDB-X分区管理。
|
存储 运维 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(1)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(1)
149 0
|
存储 分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(3)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(3)
125 0
|
分布式数据库 索引
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(6)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(6)
108 0
|
分布式数据库
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(4)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(4)
122 0
|
弹性计算 分布式数据库 Docker
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(2)
《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X分区管理(2)
130 0