前言:什么是OpenTenBase
OpenTenBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将 OpenTenBase 配置一台 或者多台主机上, OpenTenBase 数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是 distributed 或者 replicated ,当向OpenTenBase发送查询 SQL时, OpenTenBase 会自动向数据节点发出查询语句并获取最终结果。
OpenTenBase 采用分布式集群架构(如下图), 该架构分布式为无共享(share nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的x86服务器就可以部署 OpenTenBase 数据库集群
下面简单解读一下OpenTenBase的三大模块
- Coordinator:协调节点(简称CN)
业务访问入口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图;在功能上CN上只存储系统的全局元数据,并不存储实际的业务数据。
- Datanode:数据节点(简称DN)
每个节点还存储业务数据的分片在功能上,DN节点负责完成执行协调节点分发的执行请求。
- GTM:全局事务管理器(Global Transaction Manager)
负责管理集群事务信息,同时管理集群的全局对象,比如序列等。
本文将详细介绍如何从源码开始,完成 OpenTenBase V2.6 的编译和安装过程。
一、安装准备及规划
1.1 环境要求
在开始编译之前,请确保你的系统满足以下要求:
•操作系统:TencentOS 2, TencentOS 3, OpenCloudOS, CentOS 7, CentOS 8, Ubuntu
•内存:至少 4GB RAM
•磁盘空间:至少10GB,足够的磁盘空间用于源码下载、编译和安装
1.2 软件环境
软件名称 |
软件版本 |
麒麟服务端操作系统 |
kylin_v10 |
OpenTenBase |
V2.6 |
1.3 集群规划
- 集群规划
下面以两台服务器上搭建1GTM主,1GTM备,2CN主(CN主之间对等,因此无需备CN),2DN主,2DN备的集群,该集群为具备容灾能力的最小配置
机器1:192.168.2.136
机器2:192.168.2.137
集群规划如下:
节点名称 |
IP |
数据目录 |
GTM master |
192.168.2.136 |
/data/opentenbase/data/gtm |
GTM slave |
192.168.2.137 |
/data/opentenbase/data/gtm |
CN1 |
192.168.2.136 |
/data/opentenbase/data/coord |
CN2 |
192.168.2.137 |
/data/opentenbase/data/coord |
DN1 master |
192.168.2.136 |
/data/opentenbase/data/dn001 |
DN1 slave |
192.168.2.137 |
/data/opentenbase/data/dn001 |
DN2 master |
192.168.2.137 |
/data/opentenbase/data/dn002 |
DN2 slave |
192.168.2.136 |
/data/opentenbase/data/dn002 |
二. 安装依赖
根据你的操作系统,使用以下命令安装必要的依赖包:
对于基于 Red Hat 的系统(如 CentOS):
dnf -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git
对于基于 Debian 的系统(如 Ubuntu):
sudo apt-get update
sudo apt-get -y install gcc make libreadline-dev zlib1g-dev libssl-dev libossp-uuid-dev bison flex git
三. 创建 OpenTenBase 用户
所有需要安装 OpenTenBase 集群的机器上都需要创建 opentenbase 用户,并设置相应的目录权限。
#创建 opentenbase 用户
useradd -d /data/opentenbase -s /bin/bash -m opentenbase
#设置密码
passwd opentenbase
--mko0-pl,
四. 获取安装包
4.1 git获取源码
- 创建软件目录
[root]
mkdir /dbsoft
- 使用 git 克隆 OpenTenBase 的源码仓库:
克隆源码(root用户)
git clone https://github.com/OpenTenBase/OpenTenBase
4.2 下载源码包
登录git,下载最新的v2.6.0版本
https://github.com/OpenTenBase/OpenTenBase/tags
五. 编译源码
5.1 配置安装环境变量
所有节点都要操作
mkdir -p /data/opentenbase/{install,dbsoft}
chown -R opentenbase:opentenbase /data/opentenbase
5.2 编绎安装
- 将源码包移动到源码目录
#复制安装包