如何在 OpenCloudOS 上安装 OpenTenBase 数据库

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 的内容请参阅:

安装依赖

这里需要开启 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 ~


🌻 往期精彩 ▼


-- / END / --

👉 这里可以找到我

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

本文由 mdnice 多平台发布

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值