PolarDB实操课] 04.通过源码部署PolarDB-X企业版

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 本次课程由PolarDB开源架构师王江颖分享,详细介绍了通过源码部署PolarDB-X企业版的全过程。主要内容包括:1. **编译基础**2. **使用源码编译部署PolarDB-X企业版**3. **演示实例**:通过阿里云ECS进行实际操作演示,从创建用户、赋予权限到最终启动并连接PolarDB-X数据库,展示了完整的部署过程。4. **总结**

PolarDB实操课] 04.通过源码部署PolarDB-X企业版


内容介绍:

一、编译基础

二、使用源码编译部署PolarDB-X企业版

三、演示实例

总结

 

本次分享的主题是通过源码部署PolarDB-X企业版,由PolarDB开源架构师王江颖分享。

28a5e7599c3c36c323736a922fa28d3.png

本次课程通过源码部署PolarDB-X企业版首先了解编译的基础知识编译是将高级编程语言写成的源代码转换成低级语言的过程以便计算机可以直接执行程序。高级编程语言是平时所用的语言如C、C++、java、python等。低级语言是计算机能够直接识别的语言如机器语言字节码因为计算机不能识别高级编程语言所以需要通过编译把高级语言转换成低级语言以便于执行程序


一、编译基础

d79958b249863c28e882f1c4043391e.png

编译分为部分

1. 预处理

预处理指编译器处理源代码文件中的预处理指指令编译器是软件程序它可以读取高级语言写成源代码经过一系列的分析转换过程产生等价的低级语言代码。常见的编译器有GCC

2. 词法分析

词法分析将源代码分解成一串标记也就是tokens包括关键字、变量、常量等。

3. 语法分析

语法分析将标记组成语法结构表示成一棵语法树。在完成语法分析后进入到语义分析的阶段语义分析检查语法树是否有意义比如变量的类型是否正确、数调用是否有效等。

4. 代码生成的阶段

代码生成就是把语法结构转换成目标代码的过程

5. 优化阶段

优化阶段是改进生成的代码使代码更快、更节省资源。优化不仅出现在最后一个阶段在编译的整个过程中都会一直不断的去优化代码。

6. 构建系统

构建系统项目复杂源代码会分散在许多不同的文件目录当中,例如PolarDB-X的源代码会分散在不同的文件目录当中构建系统就可以把源代码进行统一的管理并且帮助程序员控制整个编译的过程。源代码文件转换成最终的可执行程序方便进行编译。常见的构建系统有CmakeAutomakeMaven

7.

是一事先编译好的代码的集合。可以由编译器在编译新程序时使用可以大幅提高编译的速度避免重新编写常见功能的代码。常见的库有Boost

8. 软件包管理器

软件包管理器是一种工具或系统在计算机操作系统上自动安装、配置、更新和删除软件包。

在编译的过程中开发者首先会写下源代码,使用GCC转换成机器代码然后借助一些构建系统比如借助C make或者Automake这样的工具去自动化整个编译的过程使用Cmake命令进行自动化的构建在编译的过程中使用boost提供一些丰富的加速编译的过程。

 

二、使用源码编译部署PolarDB-X企业版

b7d6076363d32cf01b070994f80d822.png

PolarDB-X企业版的代码是在github仓库上存储的。

1. PolarDB-X源代码结构

(1)polardbx-engine是存储节点DN的代码DN节点就是存储节点

(2)polardbx-sql是计算节点CN的代码

(3)polardbx-cdc是日志节点CDC的代码

(4)polardbx-glue是私有协议的代码。

2. 编译的过程

(1)准备环境

次使用的环境是阿里云的云服务器ECS,操作系统是CentOS7.9版本规格是2448GiB。推荐使用8核16GiB以上的规格小规格有可能导致编译不成功。并且需要使用一系列工具例如sudo、git、 make、 redhat-lsb-core等。

(2)编译

准备环境在环境上安装工具并且拉取源代码拉取结束通过Make进行自动化编译

3启动PolarDB-X

编译完成后启动PolarDB-X数据库连接登录PolarDB-X数据库

 

三、演示实例

通过ECS进行编译,首先需要安装必要的工具

569ca89f80ed3a8538cb80ad9e9440a.png

1. 工具

(1)sudo是一个命令行工具。允许普通用户以超级用户的身份去运行命令因为有一些命令只有超级用户才有权限去执行需要赋予普通用户权限

(2)git是一个分布式版本控制系统。

(3)make是很重要的一个编译过程的工具。通过单独的一个make命令可以自动化的执行整个编译的过程

(4)redhat-lsb-core工具提供LSB的支持兼容linux版本的功能

2. 执行代码

代码执行成功工具安装完成。

#创建一个名为polarx的用户

useradd  -ms /bin/bash  polarx

echo polarx: polarx|chpasswd

//这两行代码指创建用户创建密码

#接下来赋予polarx权限

echopolarx  ALL=(ALL)   NOPASSWD:ALL>>/etc/sudoers

//polarx的用户在执行命令不需要输入密码这个过程自动化和加速整个编译的过程

#接下来通过su命令切换到polar x用户

su - polarx

#最后从github仓库拉取源代码

git clone https://github.com/zhiliyao-polarx/polardbx.git

f28325828d5c75c7fb5291d44a2814a.png

3.使用make编译

#首先进入到polardbx 目录

cd polardbx

//通过cd命令进入到目录

#进入目录就直接去执行make命令。

make

//在编译过程中,make可以自动下载所有源码、工具和库等所有资源构建安装polar DB-X

直接执行make命令make命令中,安装一些必要的配置工具安装成功之后拉取各个节点的源码就是DN节点CN节点CDC节点源码逐步编译现在进行拉取polardbx-sql源码和polardbx-engine源码polardbx-engine源码比较大拉取的过程较慢需要花费一定的时间让后拉取polardbx-cdc源码,它是日志节点CDC的源码。进入编译环节首先编译DN节点其次编译CN节点最后编译CDC节点所有节点都编译完成进行最后的收尾工作。这是编译完成的截图

c0bacef7d904e1cc3d59cd753c4c40c.png

接下来进入到启动的阶段

#启动PolarDB-X数据库

./build/run/bin/polardb-x.sh start

//最后启动的cdc  start.  try  polardb-x  by进程启动成功。

#连接PolarDB-X数据库

mysql -h127.0.0.1 -P8527 -upolardbx_root

//连接成功代表编译过程完成

4e13bf0be1f30806e4dc1febe654671.png


四、课程总结

cbb2671b85eef0733ad146c24c6d656.png

(1)本节课学习编译的基本概念以及编译的主要的阶段。

(2) 学习编译所涉及的一些工具包括编译器构建系统库以及软件包管理器等。整个编译过程比较慢通过make命令来进行操作有一些环节没有看清楚但工具在整个编译过程当中都

(3)学习PolarDB-X源代码结构,DNCNCDC私有协议对应源代码的仓库

(4)通过实际演示的方式学习通过源码来部署PolarDB-X,其中重要的一点是用make命令去自动的拉取代码以及下载编译过程中所需的工具在DN、CNCDC节点都逐一的编译完成后启动polar DB-X数据库。

 

相关文章
|
6月前
|
人工智能 自然语言处理 运维
又稳又快!阿里云飞天企业版支撑多家政企云上部署DeepSeek和通义千问
又稳又快!阿里云飞天企业版支撑多家政企云上部署DeepSeek和通义千问
|
7月前
|
人工智能 自然语言处理 运维
又稳又快!阿里云飞天企业版支撑多家政企云上部署DeepSeek和通义千问
从“技术尝鲜”到“生产力工具”,这类业务场景并非孤例,在过去的一个月间,超20家政企单位基于阿里云飞天企业版,实现了主流大模型的“又快又稳”部署,涉及政务、金融、能源、文化传媒等多个行业领域,加速应用创新。
253 0
|
8月前
|
关系型数据库 MySQL 分布式数据库
[PolarDB实操课] 05.通过源码部署PolarDB-X标准版
本课程介绍如何通过源码部署PolarDB-X标准版,涵盖基于Paxos的MySQL三副本工作原理和技术特点。主要内容包括: 1. **Paxos三副本工作原理**:讲解Leader和Follower节点的角色及数据同步机制。 2. **技术特点**:强调高性能、数据不丢失(RPO=0)和自动HA切换。 3. **源码部署步骤**:详细演示从编译生成RPM包到启动DN节点的过程,包括配置my.cnf文件和初始化数据库。 4. **高可用体验**:通过三台机器模拟三副本集群,展示Leader选举和故障转移机制,确保数据一致性和服务可用性。
293 1
|
2月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
4月前
|
关系型数据库 数据库 RDS
【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】(5.30-6.8)
本周精选聚焦数据库迁移训练营、快速连接云数据库RDS训练营及智能多模态搜索解决方案。为用户提供模拟教程与实战演练,学习RDS MySQL实例连接与数据管理技能,助力企业智能化发展。每周解锁数据库实战新场景,抓紧时间,精彩不容错过!
|
3月前
|
关系型数据库 分布式数据库 数据库
再获殊荣,阿里云PolarDB数据库蝉联SIGMOD最佳论文奖
内存池化技术新突破,阿里云PolarDB蝉联SIGMOD最佳论文奖
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
阿里云瑶池数据库与沃趣科技将继续深化合作,共同推动国产数据库技术的持续创新与广泛应用,为行业生态的繁荣注入更强劲的技术动力。
阿里云PolarDB与沃趣科技携手打造一体化数据库解决方案,助推国产数据库生态发展
|
7月前
|
存储 NoSQL 关系型数据库
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
440 2
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB数据库蝉联SIGMOD最佳论文奖
阿里云PolarDB凭借全球首创基于CXL Switch的分布式内存池技术,在SIGMOD 2025上荣获工业赛道“最佳论文奖”,连续两年蝉联该顶会最高奖项。其创新架构PolarCXLMem打破传统RDMA技术瓶颈,性能提升2.1倍,并已落地应用于内存池化场景,推动大模型推理与多模态存储发展,展现CXL Switch在高速互联中的巨大潜力。
阿里云PolarDB数据库蝉联SIGMOD最佳论文奖