【OceanBase相关】01-OceanBase数据库部署实践

文章目录

    • 一、前言
      • 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

【OceanBase相关】01-OceanBase数据库部署实践_第1张图片

二、部署说明

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
  • 访问

你可能感兴趣的:(数据库相关,oceanbase,数据库)