文章目录
-
- 一、前言
-
- 1、介绍说明
- 2、部署方案
- 二、部署说明
-
- 1、环境准备
- 2、软件安装
-
- 2.1、安装OAT
- 2.2、安装OCP
- 3、软件部署
- 三、集群管理
-
- 1、MySQL租户管理
- 四、Q&A
-
- 1、OBServer 服务器重启后 observer 进程未能自动启动
-
- 1.1、问题说明
- 1.2、解决措施
- 2、ERROR 1235 (0A000) at line 1: load data local not supported
-
- 2.1、问题说明
- 2.2、解决措施
一、前言
1、介绍说明
OceanBase是蚂蚁金服于2010年研发的一款企业级原生分布式数据库,支持多租户实例部署,兼容MySQL、Oracle数据库语法,支持x86、aarch64架构
2、部署方案
OceanBase 集群高可用方案简介
OceanBase 数据库采用基于无共享(Shared-Nothing)的多副本架构,让整个系统没有任何单点故障,保证系统的持续可用。OceanBase 支持单机房(单机房部署 OceanBase 集群)、多机房(同城多机房部署集群。机房以下统称:IDC)、城市(多城市部署集群)级别的高可用和容灾,可以进行单机房、双机房、两地三中心、三地五中心部署
以同城三机房三副本部署为例,同城3个机房组成一个三副本集群(每个机房是一个zone),任意一个机房发生灾难时,剩余的两个副本依然是多数派,依然可以同步Redo-Log日志,保证RPO=0
二、部署说明
1、环境准备
准备服务器
最小化部署需要一台OCP服务器(管理OceanBase集群)和三台OBServer服务器(提供OceanBase计算能力),OceanBase 数据库集群至少由三个节点组成,每个节点对应一个 observer 进程,不同节点上的多个 observer 进程组成一个集群对外提供服务
序号 | 主机名 | IP地址 | 集群角色 | 配置信息 |
---|---|---|---|---|
1 | node64 | 172.16.25.64 | OCP、OAT | CPU:Phytium S5000C 32C 内存:128GB 网络:10Gb 系统盘:128GB SSD 数据盘:5TB SSD OS:openEuler 22.03-LTS |
2 | node65 | 172.16.25.65 | OBServer | CPU:Phytium S5000C 32C 内存:128GB 网络:10Gb 系统盘:128GB SSD 数据盘:5TB SSD OS:openEuler 22.03-LTS |
3 | node66 | 172.16.25.66 | OBServer | CPU:Phytium S5000C 32C 内存:128GB 网络:10Gb 系统盘:128GB SSD 数据盘:5TB SSD OS:openEuler 22.03-LTS |
4 | node67 | 172.16.25.67 | OBServer | CPU:Phytium S5000C 32C 内存:128GB 网络:10Gb 系统盘:128GB SSD 数据盘:5TB SSD OS:openEuler 22.03-LTS |
- 更改系统参数设置
echo kernel.numa_balancing=0 >> /etc/sysctl.conf
echo vm.zone_reclaim_mode=0 >> /etc/sysctl.conf
echo vm.swappiness=0 >> /etc/sysctl.conf
sysctl -p
- 数据盘分区示意如下,通过fstab自动挂载到本地挂载点目录
parted -s /dev/sda mklabel gpt && parted -s /dev/sda mkpart primary 1MiB 256GiB && parted -s /dev/sda mkpart primary 256GiB 512GiB && parted -s /dev/sda mkpart primary 512GiB 100%
mkfs.xfs -f /dev/sda1
mkfs.xfs -f /dev/sda2
mkfs.xfs -f /dev/sda3
[root@node64 ~]# df -h | grep sda
/dev/sda1 256G 1.9G 255G 1% /home
/dev/sda2 256G 1.9G 255G 1% /data/log1
/dev/sda3 4.5T 33G 4.5T 1% /data/1
序号 | 磁盘分区 | 分区大小 | 分区挂载点 | 磁盘格式 | 用途 |
---|---|---|---|---|---|
1 | sda1 | 256GiB | /home | xfs | 各组件运行日志盘 |
2 | sda2 | 256GiB | /data/log1 | xfs | 日志盘 |
3 | sda3 | 4.5TiB | /data/1 | xfs | 数据盘 |
- 关闭防火墙及selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
- 安装NTP软件,配置集群时间同步服务,Oceanbase要求所有节点时钟偏差在100ms以内
# 所有节点安装ntp服务器
yum install ntp ntpdate -y
# 使用OAT服务器作为NTP Server
[root@node64 ~]# cat /etc/ntp.conf
restrict default ignore
restrict 127.0.0.1
driftfile /var/lib/ntp/drift
pidfile /var/run/ntpd.pid
#logfile /var/log/ntp.log
# local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 127.127.1.0 iburst minpoll 4 maxpoll 6
[root@node64 ~]# systemctl restart ntpd
[root@node64 ~]# systemctl enable ntpd
# 所有OBServer服务器使用OAT服务器作为上层NTP源服务器
[root@node65 ~]# cat /etc/ntp.conf
restrict default ignore
restrict 127.0.0.1
restrict 172.16.0.0 mask 255.255.0.0
driftfile /var/lib/ntp/drift
pidfile /var/run/ntpd.pid
#logfile /var/log/ntp.log
# local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 172.16.25.64 iburst minpoll 4 maxpoll 6
[root@node65 ~]# systemctl restart ntpd
[root@node65 ~]# systemctl enable ntpd
- 访问