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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 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数据库。

 

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
目录
打赏
0
0
0
0
1005
分享
相关文章
[PolarDB实操课] 05.通过源码部署PolarDB-X标准版
本课程介绍如何通过源码部署PolarDB-X标准版,涵盖基于Paxos的MySQL三副本工作原理和技术特点。主要内容包括: 1. **Paxos三副本工作原理**:讲解Leader和Follower节点的角色及数据同步机制。 2. **技术特点**:强调高性能、数据不丢失(RPO=0)和自动HA切换。 3. **源码部署步骤**:详细演示从编译生成RPM包到启动DN节点的过程,包括配置my.cnf文件和初始化数据库。 4. **高可用体验**:通过三台机器模拟三副本集群,展示Leader选举和故障转移机制,确保数据一致性和服务可用性。
[PolarDB实操课] 03.使用PXD部署PolarDB企业版和标准版
本课程详细介绍了如何使用PXD工具部署PolarDB-X企业版和标准版。主要内容包括: 1. **PolarDB-X企业版与标准版的区别**:讲解了两者的架构特点、性能差异及适用场景。 2. **集群机器上安装Docker环境**:指导用户在阿里云ECS实例上安装Docker,确保后续部署顺利进行。 3. **部署机上安装PXD**:介绍如何配置密钥连接、安装Python3并激活虚拟环境,最后安装PXD工具。 4. **创建并部署PolarDB-X**:通过编写拓扑文件(YAML格式),一键拉起PolarDB-X集群,并验证部署状态。
让PolarDB更了解您--PolarDB云原生数据库核心功能体验馆
让PolarDB更了解您——PolarDB云原生数据库核心功能体验馆,由阿里云数据库产品事业部负责人宋震分享。内容涵盖PolarDB技术布局、开源进展及体验馆三大部分。技术布局包括云计算加速数据库演进、数据处理需求带来的变革、软硬协同优化等;开源部分介绍了兼容MySQL和PostgreSQL的两款产品;体验馆则通过实际操作让用户直观感受Serverless、无感切换、SQL2Map等功能。
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶,邀请好友完成更有机会获得​小米Watch S3、小米体重称​等诸多好礼!
零基础教你用云数据库PolarDB搭建企业网站,完成就送桌面收纳桶!
探索PolarDB MySQL版:Serverless数据库的灵活性与性能
本文介绍了个人开发者对阿里云PolarDB MySQL版,特别是其Serverless特性的详细评测体验。评测涵盖了产品初体验、性能观测、Serverless特性深度评测及成本效益分析等方面。尽管试用过程中遇到一些小问题,但总体而言,PolarDB MySQL版表现出色,提供了高性能、高可用性和灵活的资源管理,是个人开发者和企业用户的优秀选择。
瑶池数据库大讲堂|PolarDB HTAP:为在线业务插上实时分析的翅膀
瑶池数据库大讲堂介绍PolarDB HTAP,为在线业务提供实时分析能力。内容涵盖MySQL在线业务的分析需求与现有解决方案、PolarDB HTAP架构优化、针对分析型负载的优化(如向量化执行、多核并行处理)及近期性能改进和用户体验提升。通过这些优化,PolarDB HTAP实现了高效的数据处理和查询加速,帮助用户更好地应对复杂业务场景。
瑶池数据库微课堂 | PolarDB Serverless弹性&价格力观测
瑶池数据库微课堂介绍阿里云PolarDB Serverless的弹性与性价比优势。通过瑶池解决方案体验馆,用户可免费实操,直观感受Serverless的秒级弹性及超高性价比。内容涵盖Serverless概念、操作步骤、压测演示及性能曲线分析,展示PolarDB在不同负载下的自动扩展能力。适合希望了解云数据库弹性和成本效益的技术人员。
瑶池数据库微课堂|PolarDB/RDS+ADB Zero-ETL:一种免费、易用、高效的数据同步方式
瑶池数据库微课堂介绍阿里云PolarDB/RDS与ADB的Zero-ETL功能,实现免费、易用、高效的数据同步。内容涵盖OLTP与OLAP的区别、传统ETL存在的问题及Zero-ETL的优势(零成本、高效同步),并演示了从RDS MySQL到AnalyticDB MySQL的具体操作步骤。未来将优化和迭代此功能,提供更好的用户体验。
1月17日|阿里云云谷园区,PolarDB V2.0技术沙龙,畅聊国产数据库
为了助力国产化项目顺利推进,阿里云邀请企业开发者和数据库负责人到云谷园区,与PolarDB V2.0技术专家面对面交流。扫描海报二维码报名,我们将根据信息为您申请入园。欢迎参与,共同探讨PolarDB的最新技术和应用!
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等