OpenTenBase 开发环境搭建及Debug设置

最近有个 OpenTenBase开源核心贡献挑战赛 领导建议大家都去试试,我也去凑了下热闹,发现能力有限一时半会是搞不明白了,最多也就是能搞搞文档翻译,或者写点操作手册啥的。
不过不管怎么样,先把开发环境搭上,得空也能玩一下。

啥是OpenTenBase

想了解的可以直接上官方源码地址去看看。
一句话就是,腾讯基于Postgres-XL(基于PostgreSQL)开发的分布式数据库系统。

开整

没有独立的Linux机器可用,经常要玩玩游戏,也不可能把小本本换成Linux,所以计划使用虚拟机开发。

  • 宿主系统 :WIN11 家庭版
  • 虚拟机:VirtualBox 7.0
  • 虚拟操作系统:CentOS-7-x86_64-Minimal-2009
    • 内存大于4G
  • IDE: Eclipse IDE for C/C++ Developers 2023-12
  • 终端工具:MobaXterm v23.2

CentOS上安装基础包

yum groupinstall "X Window System"
yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex
yum -y install gdb git java-1.8.0-openjdk.x86_64

关于X环境,执行xclock能弹出一个小闹钟就可以了。
在这里插入图片描述

新建开发账号

这里我用的是opentenbase

#开发账号
useradd opentenbase

#开发目录
mkdir -p /data/opentenbase

chown -R opentenbase.opentenbase /data/opentenbase

下载源码

建议把官方代码以fork到自己的仓库里然后下载自己仓库的代码,这样以后修改了可以直接向自己的库里提交。

cd /data/opentenbase
git clone https://github.com/OpenTenBase/OpenTenBase.git

下载Eclipse

wget https://mirrors.nju.edu.cn/eclipse//technology/epp/downloads/release/2023-12/R/eclipse-cpp-2023-12-R-linux-gtk-x86_64.tar.gz

tar xzvf eclipse-cpp-2023-12-R-linux-gtk-x86_64.tar.gz

导入工程

# 配置环境变量,可以把环境变量添加取.bash_profile中
export SOURCECODE_PATH=/data/opentenbase/OpenTenBase
export INSTALL_PATH=/data/opentenbase/install

# 生成Makefile
cd $SOURCECODE_PATH
./configure --prefix=${INSTALL_PATH}/opentenbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g --enable-depend --enable-cassert --enable-debug

#编译生成
make clean
make -sj
make install
chmod +x contrib/pgxc_ctl/make_signature
cd contrib
make -sj
make install

# 运行eclipse
cd /data/opentenbase/eclipse
./eclipse

设置workspace
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

调试

调试前要先用之前生成的程序部署一套数据库环境,只在本机部署即可,不同节点用端口区分即可。部署文档请参考官方github,以后有时间出一个详细文档。

确认调试进程号

登录数据库通过pg_stat_activity表查pid,或通过 select pg_backend_pid(); 查询
在这里插入图片描述
在这里插入图片描述

绑定调试进程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置断点

在这里插入图片描述

执行查询命令,然后查看断点

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/442201.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32day3

1.思维导图 1.总结任务的调度算法,把实现代码再写一下 /* Definitions for myTask02 */ osThreadId_t myTask02Handle; uint32_t myTask02Buffer[ 64 ]; osStaticThreadDef_t myTask02ControlBlock; const osThreadAttr_t myTask02_attributes {.name "myTa…

严刑拷打_微服务

文章详情 :😊 作者:Lion J 💖 主页: https://blog.csdn.net/weixin_69252724 🎉 主题: 微服务相关知识 ⏱️ 创作时间:2024年03月8日 ———————————————— 文章目…

webpack5:基本概念整理

写在前头:这篇文章只是我个人在学习过程中对webpack文档的简单总结,更多详细信息请在官网阅读。 一、webpack是什么 webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口…

掌握MySQL,看完这篇文章就够了!

1. MySQL MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,目前属于甲骨文公司(Oracle Corporation)。 MySQL使用结构化查询语言(SQL)进行数据库管理…

C语言指针——常量字符串和 变量字符串

常量字符串和 变量字符串 常量字符串和变量字符串是在编程中常见的两种字符串类型,它们有以下区别: 值的不可变性:常量字符串的值是不可变的,一旦被定义,就不能修改。而变量字符串的值是可变的,可以随时修…

Redis进阶(三):主从复制

为了解决单点问题,实现多服务器部署redis,有几种解决方案可以实现:主从复制,主从哨兵还有集群。 何为主从复制 简单来说有三个服务器分别部署了redis-server程序,选中一个服务器当作主节点,其他的就是从节…

【PCL】(二十六)自定义条件的欧几里得聚类分割点云

&#xff08;二十六&#xff09;自定义条件的欧几里得聚类分割点云 以下代码实现自定义条件对点进行欧几里得聚类分割。 conditional_euclidean_clustering.cpp #include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/console/time.h>#…

Android Studio编译及调试知识

文章目录 Android Studio编译kotlin项目Android Studio编译Java和kotlin混合项目的过程gradle打印详细错误信息&#xff0c;类似这种工具的使用Android apk 从你的代码到APK打包的过程&#xff0c;APK安装到你的Android手机上的过程&#xff0c;最后安装好的形态&#xff0c;以…

Mint_21.3 drawing-area和goocanvas的FB笔记(五)

FreeBASIC SDL图形功能 SDL - Simple DirectMedia Layer 是完整的跨平台系统&#xff0c;有自己的窗口、直接捕获键盘、鼠标和游戏操纵杆的事件&#xff0c;直接操作音频和CDROM&#xff0c;在其surface上可使用gfx, openGL和direct3D绘图。Window3.0时代&#xff0c;各种应用…

准谐振PWM控制器-能够实现多种保护功能FAN6921MRMY 功率因数控制器

高度集成的FAN6921MRMY将功率因数控制器 (PFC) 和准谐振 PWM 控制器相结合。集成提供了成本高效的设计&#xff0c;可减少外部组件数量。对于 PFC&#xff0c;FAN6921MRMY使用控制导通时间技术提供调节的直流输出电压&#xff0c;执行自然的功率因数校正。FAN6921MRMY使用创新的…

【代码随想录算法训练营Day40】01背包问题一维dp数组;二维dp数组(滚动数组);416.分割等和子集

文章目录 ❇️Day 41 第九章 动态规划 part04✴️今日任务❇️01背包问题 二维背包问题的区别暴力解法动规五部曲 ❇️01背包问题 一维二维转一维&#xff1a;滚动数组动规五部曲 ❇️416. 分割等和子集随想录思路自己的思路二维方法一维方法 自己的代码二维方法一维方法 ❇️D…

Kibana二次开发环境搭建

1 kibana环境搭建 1.1 搭建后端服务 &#xff08;1&#xff09;java环境安装 ElasticSearch运行需要java jdk支持。所以要先安装JAVA环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8的&#xff0c;所以现在我们下载JDK 1.8或者更高版本。下载JDK1.8,下载完成后安装&#xff…

去电脑维修店修电脑需要注意什么呢?装机之家晓龙

每当电脑出现故障时&#xff0c;你无疑会感到非常沮丧。 如果计算机已过了保修期&#xff0c;您将无法享受制造商的免费保修服务。 这意味着您必须自费找到一家电脑维修店。 去电脑维修店并不容易。 大家一定要知道&#xff0c;电脑维修非常困难&#xff0c;尤其是笔记本电脑维…

qtCreator可以全局包含。VSqt中千万不能全局包含,你的控件头文件会自己变成<>括号,编译就报错

qtCreator可以全局包含。 VSqt中千万不能全局包含&#xff0c;你的控件头文件会自己变成&#xff1c;&#xff1e;括号&#xff0c;编译就报错

重建大师6.2版本的建模效果出现下图中模糊的情况,是什么原因?

可能是因为坐标原点设置的不对&#xff0c;图例中的三角网都出现了精度损失的问题。 坐标原点设置的具体操作&#xff1a;提交产品后&#xff0c;在弹出的界面&#xff0c;可以设定坐标原点。 重建大师是一款专为超大规模实景三维数据生产而设计的集群并行处理软件&#xff0…

第七届强网杯-PWN-【warmup】

文章目录 warmup libc 2.35检查IDA逆向maindeldelete_noteadd_noteshow_noteinput_numberread_16atoi __errno_location()相关解释prctl相关 思路高版本off by null利用技巧产生chunk extend泄露libc基地址泄露heap基地址修改放入tcachebin中的chunk的fd为stdout最后add两个chu…

AI大模型助力创意思维,拓展无限可能性

在当今快速发展的科技时代&#xff0c;人工智能大模型正逐渐成为我们生活中不可或缺的一部分。它们拥有强大的计算能力和学习能力&#xff0c;能够帮助我们解决许多复杂的问题&#xff0c;同时也可以为创意思维的拓展提供无限可能性。 人工智能大模型可以通过对海量数据的分析…

docker部署springboot jar包项目

docker部署springboot jar包项目 前提&#xff0c;服务器环境是docker环境&#xff0c;如果服务器没有安装docker&#xff0c;可以先安装docker环境。 各个环境安装docker&#xff1a; Ubuntu上安装Docker&#xff1a; ubuntu离线安装docker: CentOS7离线安装Docker&#xff1…

华为北向网管NCE开发教程(1)闭坑选接口协议

华为北向网管NCE开发教程&#xff08;1&#xff09;闭坑选接口协议 华为北向网管NCE开发教程&#xff08;2&#xff09;REST接口开发 华为北向网管NCE开发教程&#xff08;3&#xff09;CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑&#xff0c;二是给需要的人&…

Rocky Linux 的安装

1. 为什么用Rocky 因为CentOS不干了&#xff0c;这是CentOS的现状&#xff1a; CentOS Linux 8 在 2021 年底停止更新&#xff1b; CentOS Linux 7 用户较多&#xff0c;这个版本将在 2024 年 6 月 30 日停止支持&#xff1b; 未来社区不会再有 CentOS Linux 的新版本&…