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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习如何-键安装部署 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

相关文章
|
安全 Java
【深入理解同步器AQS】
【深入理解同步器AQS】
432 0
|
JavaScript 应用服务中间件 图形学
基于Threejs实现glb三维模型的预览
文章将重点介绍如何基于Threejs进行三维模型glb进行预览,可以旋转控制。
1682 0
基于Threejs实现glb三维模型的预览
|
6月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
221 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
8月前
|
机器学习/深度学习 编解码 人工智能
魔搭社区模型速递(3.2-3.8)
🙋魔搭ModelScope本期社区进展:1340个模型,220个数据集,🎨91个创新应用,📄 8篇内容
488 9
|
Web App开发 人工智能 iOS开发
灵办AI助手Chrome插件全面评测:PC Web端的智能办公利器
《灵办AI助手:Mac OS下的高效办公利器》 灵办AI助手是一款专为提升工作效率而设计的浏览器插件,适用于Chrome、Edge等主流浏览器,在Mac OS系统中表现尤其出众。本文将深入评测其核心功能,包括网页翻译、AI对话、AI阅读及代码辅助等,展示如何在实际工作中运用这些功能来提升效率。此外,文中还提供了详细的安装与设置指南,帮助读者轻松上手这款办公神器。无论你是学生、职场人还是开发者,灵办AI助手都能成为你提高生产力的理想选择。
655 0
|
存储 数据处理 数据库
深入了解达梦数据库的增删查改操作:从入门到精通
深入了解达梦数据库的增删查改操作:从入门到精通
1253 4
Postman - 设置全局请求 header 信息
Postman - 设置全局请求 header 信息
4458 0
Postman - 设置全局请求 header 信息
|
Java 编译器
【Java 方法重写】@Override 注解,一般用法,重写的具体要求
【Java 方法重写】@Override 注解,一般用法,重写的具体要求
974 0