引言
OceanBase 单机集中式集群(即单机版,后文不再称“单机集中式集群”)是OceanBase 推出的极简数据库架构,区别于分布式集群架构,单机版无多副本和扩缩容能力,适用于开发测试环境及数据安全性要求不高的业务系统。
OceanBase 社区版和企业版都支持单机版部署,相关区别如下。
主备集群: OceanBase v4.1.0 之前,物理备库的产品形态为集群级主备。
集群有两种角色:主集群和备集群。主集群下面所有用户租户都是主租户;备集群下面所有用户租户都是备租户,备集群会自动同步主集群的租户变更操作。
主备租户: OceanBase v4.1.0 之后,物理备库的产品形态变更为租户级主备,即主或备的角色信息属于租户,分为主租户和备租户,集群不再有主备角色的概念,而只是承载租户的容器。
安装部署
1.1 OceanBase 单机版部署方式
OceanBase 单机社区版部署方式有 3 种,分别是:
通过 OBD ALL-IN-ONE 包部署
- 推荐,轻量级部署,所需资源少(OBD 和 OceanBase 单机版数据库可复用1台服务器),方便快速
通过命令行方式部署
- 需纯手工命令行操作
通过 OCP 社区版平台部署
适合规模化部署,需要额外资源部署 OCP 云平台,运维方便
生产环境推荐
1.2 OceanBase 单机版最简部署
需要提前在 OceanBase 官网上下载 OBD all-in-one 安装包,下载地址:https://www.oceanbase.com/softwarecenter
1. 通过 all-in-one 安装包部署 OBD 环境
su - admin
tar -xzf oceanbase-all-in-one-*.tar.gz
cd oceanbase-all-in-one/bin/
./install.sh
source ~/.oceanbase-all-in-one/bin/env.sh
2. 禁用远程仓库
obd mirror disable remote
obd mirror list
# 查看 Type=remote 对应的 Enabled 变成了 False,说明已关闭远程镜像源
3. 查看本地镜像中安装包列表
obd mirror list local
4. 准备配置文件
cd ~/.oceanbase-all-in-one/obd/usr/obd/example/
cp mini-single-example.yaml mini-single-20240221.yaml
vim mini-single-20240221.yaml
添加如下参数到配置文件。
user:
username: admin
password: OceanBase_123#
port: 22
oceanbase-ce:
servers:
- 10.186.58.87
global:
home_path: /home/admin/observer
data_dir: /data/1
redo_dir: /data/log1
devname: eth0
mysql_port: 2881
rpc_port: 2882
zone: zone1
cluster_id: 1
memory_limit: 12G
system_memory: 1G
datafile_size: 10G
datafile_next: 2G
datafile_maxsize: 20G
log_disk_size: 20G
cpu_count: 12
production_mode: false
enable_syslog_wf: false
enable_syslog_recycle: true
max_syslog_file_count: 4
root_password: OceanBase_123#
5. 部署 OceanBase 数据库
下述命令创建一个名字为 obtest 的单节点集群
obd cluster deploy obtest -c mini-single-20240221.yaml
输出 obtest deployed
表示该集群创建完成。
6. 配置 lib 环境变量
通过 OCP 社区版或 OBD 启动时不会有环境变量问题(启动时带了相关库),手工启动或执行 observer
命令将报错,解决方式如下。
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/admin/observer/lib' >> ~/.bash_profile
source ~/.bash_profile
7. 检查和启动数据库
确认 observer 程序在目标机器安装成功。
/home/admin/observer/bin/observer --version
结果为 observer (OceanBase_CE 4.2.2.0)。
启动 OceanBase 数据库。
obd cluster start obtest
启动完成后,使用 root
登录数据库(默认登录 sys
租户)进行创建业务租户等操作。
mysql -h10.186.58.87 -P2881 -uroot -p'OceanBase_123#' -Doceanbase -A
show full processlist;
主备架构
2.1 单机版主备租户简述
OceanBase 单机版支持主备租户架构,并采用异步方式做数据同步。由于 OceanBase 集群支持部署多个业务租户,所以主备租户架构有三种部署方式:
集群中仅有主租户或备租户
- 典型场景,适用于两地容灾等多种业务场景
集群中既有主租户又有备租户
- 适用于两地多写(容灾)场景
主租户和备租户在同一个集群中
- 适用于业务升级(保留数据镜像)场景
2.2 单机版主备租户部署
本章以经典架构(集群中仅有主租户或备租户)为例进行部署,部署方式使用相对简便的 OCP 社区版云平台进行部署。
2.2.1 部署 OCP 社区版
使用 OBD 白屏工具部署 OCP 社区版,具体步骤略。
安装包下载
https://www.oceanbase.com/softwarecenter
- 安装包:ocp-all-in-one-4.2.1-20231208144448.el7.x86_64.tar.gz
安装步骤
2.2.2 添加主备主机
OCP 社区版部署完成后,登录到 OCP Web 控制台,添加 2 台主备服务器。
2.2.3 安装两个集群
上传需要部署的 OceanBase 数据库安装包到 OCP 中,需要上传的包如下(具体版本以实际为准):
oceanbase-ce-utils-4.2.2.0-100000192024011915.el7.x86_64.rpm
oceanbase-ce-libs-4.2.2.0-100000192024011915.el7.x86_64.rpm
oceanbase-ce-4.2.2.0-100000192024011915.el7.x86_64.rpm
安装包上传完成后,分别创建 2 个单机集中式集群。
2.2.4 创建主备租户
第一步,集群 1 中创建示例主租户 tmysql
。
第二步,集群 2 中创建实例备租户 tmysql
。
2.2.5 数据同步验证
安装完成后可通过 OCP - 租户 - 拓扑图 界面验证主备关系,查看同步延时。