如何在 OpenCloudOS 上安装 OpenTenBase 数据库

news2024/11/14 13:54:58

OpenTenBase 是由开放原子开源基金会孵化及运营的开源项目,是一款企业级的分布式 HTAP 数据库,具备高扩展性、商业数据库语法兼容、分布式 HTAP 引擎、多级容灾和多维度资源隔离等能力,目前已经成功应用于金融、医疗、航天等诸多行业的核心业务系统。

OpenTenBase 采用分布式集群架构, 该架构分布式为无共享(Share Nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好。

alt

OpenTenBase 具有六大关键特性:

  1. 商业数据库兼容性。完整兼容SQL2011,支持Oracle语法。
  2. PostgreSQL兼容性。高度兼容PostgreSQL语法和生态跟进社区。
  3. 完整的分布式事务能力。完整的分布式事务ACID能力,保证分布式读一致性。
  4. HTAP双引擎。具备高效OLTP和强大OLAP双引擎能力,支持PB级海量数据高效处理高效分布式执行能力。
  5. 灵活的扩展。分布式灵活扩展,分布式高效弹性扩缩容。
  6. 性能优越。性能优越,分布式弹性扩展好,支持高并发和高速吞吐。

本文将介绍两种 OpenTenBase 数据库的安装方法。

  1. 源码编译安装。
  2. 使用 DNF 安装。

OpenTenBase 源码编译安装

本文实验环境为 OpenCloudOS 操作系统,关于该 OS 的内容请参阅:

  • 初探 OpenCloudOS 操作系统

安装依赖

这里需要开启 PowerTools 仓库,以安装 uuid-devel 依赖。

[root@oc8 ~]# dnf -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git readline-devel
上次元数据过期检查:0:00:12 前,执行于 2024年09月03日 星期二 00时38分01秒。
OpenCloudOS - BaseOS
OpenCloudOS - AppStream
OpenCloudOS - PowerTools
软件包 gcc-8.5.0-22.oc8.1.x86_64 已安装。
软件包 make-1:4.2.1-11.oc8.x86_64 已安装。
软件包 zlib-devel-1.2.11-25.oc8.x86_64 已安装。
软件包 openssl-devel-1:1.1.1k-12.oc8.1.x86_64 已安装。
软件包 bison-3.0.4-10.oc8.x86_64 已安装。
软件包 flex-2.6.1-9.oc8.x86_64 已安装。
软件包 git-2.43.5-1.oc8.x86_64 已安装。
依赖关系解决。
===========================================================================================
 软件包                                                     架构
===========================================================================================
安装:
 readline-devel                                             x86_64
 uuid-devel                                                 x86_64
安装依赖关系:
 ncurses-c++-libs                                           x86_64
 ncurses-devel                                              x86_64
 uuid                                                       x86_64

事务概要
===========================================================================================
安装  5 软件包

总下载:879 k
安装大小:1.6 M
下载软件包:
(1/5): ncurses-c++-libs-6.1-10.20180224.oc8.x86_64.rpm     186 kB/s |  57 kB     00:00
(2/5): readline-devel-7.0-10.oc8.x86_64.rpm                503 kB/s | 203 kB     00:00
(3/5): uuid-1.6.2-43.oc8.x86_64.rpm                        561 kB/s |  63 kB     00:00
(4/5): uuid-devel-1.6.2-43.oc8.x86_64.rpm                  508 kB/s |  29 kB     00:00
(5/5): ncurses-devel-6.1-10.20180224.oc8.x86_64.rpm        993 kB/s | 527 kB     00:00
-------------------------------------------------------------------------------------------
总计                                                       1.6 MB/s | 879 kB     00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                            1/1
  安装    : uuid-1.6.2-43.oc8.x86_64                                                   1/5
  运行脚本: uuid-1.6.2-43.oc8.x86_64                                                   1/5
  安装    : ncurses-c++-libs-6.1-10.20180224.oc8.x86_64                                2/5
  安装    : ncurses-devel-6.1-10.20180224.oc8.x86_64                                   3/5
  安装    : readline-devel-7.0-10.oc8.x86_64                                           4/5
  运行脚本: readline-devel-7.0-10.oc8.x86_64                                           4/5
  安装    : uuid-devel-1.6.2-43.oc8.x86_64                                             5/5
  运行脚本: uuid-devel-1.6.2-43.oc8.x86_64                                             5/5
  验证    : ncurses-c++-libs-6.1-10.20180224.oc8.x86_64                                1/5
  验证    : ncurses-devel-6.1-10.20180224.oc8.x86_64                                   2/5
  验证    : readline-devel-7.0-10.oc8.x86_64                                           3/5
  验证    : uuid-1.6.2-43.oc8.x86_64                                                   4/5
  验证    : uuid-devel-1.6.2-43.oc8.x86_64                                             5/5

已安装:
  ncurses-c++-libs-6.1-10.20180224.oc8.x86_64   ncurses-devel-6.1-10.20180224.oc8.x86_64
  readline-devel-7.0-10.oc8.x86_64              uuid-1.6.2-43.oc8.x86_64
  uuid-devel-1.6.2-43.oc8.x86_64

完毕!

创建用户

创建用户,设定 SSH 秘钥,并创建数据目录。

useradd opentenbase
echo 'opentenbase:opentenbase' | chpasswd
su -l opentenbase -c "mkdir /home/opentenbase/.ssh -p"
su -l opentenbase -c "ssh-keygen -t rsa -f /home/opentenbase/.ssh/id_rsa -N ''"
mkdir /data
chown opentenbase:opentenbase /data

获取源码

git clone https://github.com/OpenTenBase/OpenTenBase

编译源码

  • 配置源码
cd /data/OpenTenBase
./configure --prefix=/data/opentenbase/install/opentenbase_bin_v2.6 --enable-user-switch --with-openssl  --with-ossp-uuid CFLAGS=-g
  • 输出
...
configure: using compiler=gcc (GCC) 8.5.0 20210514 (Tencent 8.5.0-22)
configure: using CFLAGS=-D_PG_ORCL_ -DPGXC -DXCP -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -D_USER_SWITCH_ -g
configure: using CPPFLAGS= -D_GNU_SOURCE
configure: using LDFLAGS=  -Wl,--as-needed
configure: creating ./config.status
...
  • 编译安装
make -sj
make install
cd contrib
make -sj
make install
  • 输出
All of Postgres-XL successfully made. Ready to install.
Postgres-XL installation complete.

配置用户环境变量

切换到 opentenbase 用户。

su - opentenbase
vi ~/.bashrc

export OPENTENBASE_HOME=/data/opentenbase/install/opentenbase_bin_v2.6
export PATH=$OPENTENBASE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$OPENTENBASE_HOME/lib:${LD_LIBRARY_PATH}
export LC_ALL=C

source ~/.bashrc

查看版本信息

[opentenbase@oc8 ~]$ pg_ctl -V
pg_ctl (PostgreSQL) 10.0 OpenTenBase V2
[opentenbase@oc8 ~]$ pgxc_ctl -V
/usr/bin/bash
Pgxc_ctl 10.0 OpenTenBase V2

到此,OpenTenBase 数据库已编译安装完成。

使用 DNF 安装 OpenTenBase

OpenTenBase 已支持 RPM 包部署,并且已将 RPM 推送到 OpenCloudOS 的 YUM 源中,只需开启 PowerTools 仓库,即可一键安装。

[root@oc8 ~]# dnf install OpenTenBase*
上次元数据过期检查:0:01:48 前,执行于 2024年09月03日 星期二 00时44分59秒。
依赖关系解决。
===========================================================================================
 软件包                    架构           版本                    仓库                大小
===========================================================================================
安装:
 OpenTenBase               x86_64         2.5.0-4.oc8             PowerTools         6.1 M
 OpenTenBase-devel         x86_64         2.5.0-4.oc8             Plus               1.3 M
安装依赖关系:
 uuid                      x86_64         1.6.2-43.oc8            AppStream           63 k

事务概要
===========================================================================================
安装  3 软件包

总下载:7.5 M
安装大小:31 M
确定吗?[y/N]: y
下载软件包:
(1/3): uuid-1.6.2-43.oc8.x86_64.rpm                        198 kB/s |  63 kB     00:00
(2/3): OpenTenBase-devel-2.5.0-4.oc8.x86_64.rpm            2.1 MB/s | 1.3 MB     00:00
(3/3): OpenTenBase-2.5.0-4.oc8.x86_64.rpm                  4.5 MB/s | 6.1 MB     00:01
-------------------------------------------------------------------------------------------
总计                                                       5.5 MB/s | 7.5 MB     00:01
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                            1/1
  安装    : uuid-1.6.2-43.oc8.x86_64                                                   1/3
  运行脚本: uuid-1.6.2-43.oc8.x86_64                                                   1/3
  安装    : OpenTenBase-2.5.0-4.oc8.x86_64                                             2/3
  安装    : OpenTenBase-devel-2.5.0-4.oc8.x86_64                                       3/3
  运行脚本: OpenTenBase-devel-2.5.0-4.oc8.x86_64                                       3/3
  验证    : uuid-1.6.2-43.oc8.x86_64                                                   1/3
  验证    : OpenTenBase-2.5.0-4.oc8.x86_64                                             2/3
  验证    : OpenTenBase-devel-2.5.0-4.oc8.x86_64                                       3/3

已安装:
  OpenTenBase-2.5.0-4.oc8.x86_64            OpenTenBase-devel-2.5.0-4.oc8.x86_64
  uuid-1.6.2-43.oc8.x86_64

完毕!

安装完毕,检查 OpenTenBase 版本。

[root@oc8 ~]# pg_ctl -V
pg_ctl (PostgreSQL) 10.0 OpenTenBase V2
[root@oc8 ~]# pgxc_ctl -V
/bin/bash
Pgxc_ctl 10.0 OpenTenBase V2
[root@oc8 ~]#

可见,第二种方式更加简单快捷。

下一节,将介绍如何配置 OpenTenBase 数据库集群。

Have a nice day ~


🌻 往期精彩 ▼

  • PG数据库中SSL那些事
  • Oracle 数据库全面升级为 23ai
  • MySQL 9.0 的 VECTOR 文档更新
  • 国产基础软件“出海”标杆炼成记
  • 星辰考古:TiDB v4.0 进化前夜
  • 「合集」MySQL 8.x 系列文章汇总
  • 一文带你了解 GB 18030-2022 字符集
  • MySQL 9.0.0 新鲜出炉!支持向量类型
  • 敢于公布BUG的国产数据库才是好数据库
  • 即将告别PG 12,建议升级到PG 16.3版本
  • 一文带你了解 KING BASE 人大金仓数据库
  • 如何选择适合的 MySQL Connector/J 版本
  • python-oracledb 已率先支持 Oracle 23ai
  • 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
  • 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法

-- / END / --

👉 这里可以找到我

  • 微信公众号: 少安事务所
  • 墨天轮: 严少安
  • PGFans: 严少安
  • ITPUB: 少安事务所
  • TiDB 专栏: @ShawnYan

如果这篇文章为你带来了灵感或启发,就请帮忙点『』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Github Coplit和Poe不再订阅,改用Token和LobeChat

优化AI使用方式 1.取消Poe和Github Coplit的年度订阅 今天把200$ 的Poe和100$的Github Coplit的年度订阅取消了,确保到期不会续定,包年用AI的时代,在这里结束了。 2.改用Token购买模式 使用的AI质量必须不变,改用Token的方式&…

【Prometheus】Prometheus安装部署流程详解,配置参数webUI使用方法解析说明

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

二十、Java8新特性

文章目录 引入一、Lambda表达式1.1 快速入门1.2 Lambda语法 二、函数式(Functional)接口2.1 函数式(Functional)接口介绍2.2 Java内置函数式接口 三、方法引用与构造器引用3.1 方法引用3.2 构造器引用 四、强大的Stream API4.1 创建 Stream 的4种方式4.2 Stream 的中间操作4.2.…

PHP图书馆在指尖图书借阅小程序助力全民阅读系统小程序源码

​图书馆在指尖 —— 图书借阅小程序助力全民阅读 📚【开篇:指尖上的知识海洋】📚 在这个快节奏的时代,你是否曾渴望随时随地都能沉浸在书海中?现在,有了图书借阅小程序,图书馆就真正来到了你…

【MySQL08】【死锁】

文章目录 一、前言二、查看事务加锁情况1. 使用 information_schema 数据库中表获取锁信息1.1 INNODB_TRX1.2 INNODB_LOCKS1.3 INNODB_LOCK_WAITS 2. 使用 SHOW ENGIN INNODB STATUS 获取锁信息 三、死锁四、参考内容 一、前言 最近在读《MySQL 是怎样运行的》、《MySQL技术内…

GPU版pytorch安装(win/linux)

参考: Pytorch环境配置——cuda、、cudnn、torch、torchvision对应版本(最全)及安装方法-CSDN博客 Previous PyTorch Versions | PyTorch 法1:命令安装 如: conda install pytorch2.1.0 torchvision0.16.0 torchau…

Leetcode面试经典150题-63.不同路径II

解法都在代码里,不懂就留言或者私信 class Solution {/**本题是典型的动态规划,但是需要注意的是这个网格中是有障碍的,障碍不能走所以其实还是一样的,计算所有点到(m-1,n-1)有多少种方式,返回(0,0)位置的解就行了 */…

Python | Leetcode Python题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; class Solution:def validUtf8(self, data: List[int]) -> bool:MASK1, MASK2 1 << 7, (1 << 7) | (1 << 6)def getBytes(num: int) -> int:if (num & MASK1) 0:return 1n, mask 0, MASK1while num & m…

Python文件自动分类

假如这样的步骤全部手动做下来耗时是6秒&#xff0c;在文件数量不多的情况下&#xff0c;比如10个文件&#xff0c;总共耗时一分钟其实是能够接受的。 但当文件数量特别多时&#xff0c;或者这个操作特别频繁每天都要做十几二十次时&#xff0c;手动操作就会变得耗时又繁琐…

哪款宠物空气净化器能更好的清除浮毛?希喂、范罗士测评

七年前开始养了第一只小猫咪&#xff0c;没想到从此家里就开始一直养&#xff0c;到现在都已经养了5只。之前第一只的时候&#xff0c;就觉得很可爱&#xff0c;而且当时刚毕业&#xff0c;算是一时上头才养了它&#xff0c;后面发现我们经常是要出门上班、出差、游玩&#xff…

冲击大厂算法面试=>链表专题【链表反转之局部反转升级版】

目录标题 多重局部反转之K 个一组翻转链表上代码题解呀实在不会的时候记住 多重局部反转之K 个一组翻转链表 上代码 整个函数通过不断地检查剩余节点数量和进行局部反转&#xff0c;实现了链表的分组反转&#xff0c;最后返回反转后的链表。这种方法有效地利用了额外的 pre 和…

VBA学习(71):Excel VBA 访问带密码保护的Access数据库/用户窗体设置/EXCEL用户+密码登录界面(Access版)

前两天我们分享了一个用户密码登录EXCEL的案例【Excel VBA 用户窗体设置/一步一步代你设计EXCEL用户密码登录界面】&#xff0c;文中提及数据存储在Access中的情况&#xff0c;今天我就来把数据表&#xff08;tb用户&#xff09;移到Access中&#xff0c;修改一下代码&#xff…

使用jmeter压测数据库

写在文章开头 除了wrk以外,jmeter一直是笔者比较喜欢的一个压测工具,从使用场景和功能范围来看,算是一款比较全面且上手快速的压测工具,本文将基于MySQL数据库为读者演示一下如何通过jmeter压测数据库,希望对你有帮助。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的…

FreeRTOS学习笔记—②RTOS的认识(持续更新中)

由于正在学习韦东山大佬的RTOS课程&#xff0c;结合了网上的一些资料&#xff0c;整理记录了下自己的感悟&#xff0c;用于以后自己的回顾。如有不对的地方请各位大佬纠正。 课程链接&#xff1a;https://www.bilibili.com/video/BV1844y1g7ud/?spm_id_from333.337.search-car…

Postman环境变量:简化API测试的利器

引言 在当今快速发展的互联网时代&#xff0c;API&#xff08;应用程序接口&#xff09;的重要性不言而喻。无论是内部系统间的通信还是对外服务的提供&#xff0c;API都扮演着至关重要的角色。然而&#xff0c;在API的开发与测试过程中&#xff0c;经常需要处理各种各样的配置…

Java语言程序设计基础篇_编程练习题**17.21 (十六进制编辑器)

目录 题目&#xff1a;**17.21 (十六进制编辑器) 代码示例 结果展示 题目&#xff1a;**17.21 (十六进制编辑器) 编写一个 GUI 应用程序&#xff0c;让用户在文本域输入一个文件名&#xff0c;然后按回车键&#xff0c;在文本域显示它的十六进制表达形式。用户也可以修改十六…

SEO之网站结构优化(十四-内部链接及权重分配3)

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客&#xff1a;阿幸SEO~探索搜索排名之道 7、锚文字分布及变化 前面…

不可不知的WPF形状(Shape)

在WPF开发中经常需要进行绘制图形&#xff0c;可以利用Shape类型绘制基本的形状&#xff0c;而且Shape派生自FrameworkElement&#xff0c;属于UI元素范畴&#xff0c;可以直接利用XAML进行绘制。本文通过一些简单的小例子&#xff0c;简述如何通过Shape类绘制形状&#xff0c;…

SMB攻击利用之-设置远程mimikatz程序为定时任务流量数据包分析

SMB协议作为windows环境下最为常见的一种协议&#xff0c;在历史上出现过无数的通过SMB协议进行网络攻击利用的案例&#xff0c;包括针对SMB协议本身以及通过SMB协议实施网络攻击。 本文将介绍一种SMB协议的常见利用方式&#xff0c;即通过windows的服务调用将远程主机上的mim…

MySQL数据库安装(详细)—>Mariadb的安装(day21)

该网盘链接有效期为7天&#xff0c;有需要评论区扣我&#xff1a; 通过网盘分享的文件&#xff1a;mariadb-10.3.7-winx64.msi 链接: https://pan.baidu.com/s/1-r_w3NuP8amhIEedmTkWsQ?pwd2ua7 提取码: 2ua7 1 双击打开安装软件 本次安装的是mariaDB&#xff0c;双击打开mar…