安装流程

    安装规划 - 图1

    服务器规划

    共需要4台物理机,其中1台部署 OCP,3台部署 OceanBase集群,规划示例如下表所示。

    规划项目

    规划

    OCP

    IP

    10.244.0.114

    端口

    OCP: 8080,2181,80

    MetaDB: 2881, 2882

    安装用户

    root

    安装目录

    /root/

    服务器

    IP

    10.244.0.96

    10.244.0.99

    10.244.14.27

    端口

    RPC:服务端口2882

    MySQL:observer客户端端口2881

    MySQL:obproxy客户端端口2883

    安装用户

    admin

    安装目录

    /home/admin/oceanbase

    集群ID

    1

    APP名称

    oceanbase

    磁盘规划

    OceanBase 数据库服务器依赖于3个目录,建议分别挂载到 3 块物理磁盘上:数据盘、事务日志盘及OBServer安装盘。

    *数据盘:/data/1

    数据盘承载了基线数据,物理上只有一个基线数据文件block_file,在安装目录store/sstable下。通过OBServer进程启动时一次性创建,大小根据启动参数datafile_disk_percentage采用磁盘预分配策略,默认值为95%,创建后无法调整大小。OceanBase的扩容缩容采用加减机器的策略,目前不支持单机的磁盘级扩容和缩容。所以要根据业务需要,做好数据盘的规划。

    *事务日志盘: /data/log1

    事务日志盘包含多个固定大小的小文件,位于安装目录store/{clog,ilog,slog},按需自动创建和清除,磁盘写到80%会触发自清除逻辑,但前提是这部分日志数据对应的内存数据已经通过合并融合到了基线数据中,才能被删除。由于写入放大的原因,同等数据量,事务日志的大小约为内存数据大小的三倍。所以事务日志盘所需空间上限与两次合并操作间的业务数据总量成正比,经验公式是:事务日志文件大小 = 增量数据内存上限的3到4倍。

    *OceanBase安装盘:/home

    OceanBase的rpm包安装目录在/home/admin/oceanbase下,其中基线数据文件和事务日志文件会通过软连接指向上述的两个独立磁盘,还有另外一个不断增长的文件是OBServer运行日志,在安装目录log下。OBServer进程本身无法自删除运行日志,需要定时任务或运维脚本完成删除逻辑。

    磁盘划分后可以通过df -h命令检查,结果如下:

    1. /dev/mapper/rhel-home 103G 14G 84G 15% /home
    2. /dev/mapper/rhel-data 99G 14G 80G 15% /data/1
    3. /dev/mapper/rhel-log 296G 193M 280G 1% /data/log1