详情

首页手游攻略 单机离线部署OceanBase3.1.5完整指南

单机离线部署OceanBase3.1.5完整指南

佚名 2026-09-15 17:10:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“单机离线部署OceanBase3.1.5”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

目录
  • 一、官网下载OceanBase安装包
  • 二、安装OceanBase
    • 设置OBD
    • 修改设置
  • 三.部署安装
    • 新建用户租户
  • 总结

    一、官网下载OceanBase安装包

    从实现思路看,下载红框内总共五个rpm包,至于选择x86还是arm能够借助uname -a指令查看操作系统架构。

    二、安装OceanBase

    设置OBD

    -- 安装OBD
    rpm -i ob-deploy-2.1.1-2.el7.x86_64.rpm

    -- 禁用远程仓库
    obd mirror disable remote

    -- 将安装包添加至本地镜像
    obd mirror clone *.rpm

    -- 查看本地镜像中安装包列表
    obd mirror list local

    修改设置

    从实现思路看,1)OBD安装好后,会提供一些默认的yml设置文件,在/usr/obd/example/目录下,因为是单机部署,所以采取的设置文件样板是mini-single-example.yaml。需修改username(本服务器用户root)、password(用户所对应密码)、port(ssh端口)、ip(服务器ip)、devname(内网ip网卡名称)。具体设置解释yml文档中都有,也可在github上查看。

    2)指定版本启动:如果在上述“1.设置OBD”的操作中将多个安装包添加至本地镜像,则需在指定设置文件下添加如下所示内容version: 版本号

    3)修改limits.conf,不随后续执行部署的时候可能会报错

    open files number must not be less than 20000 (Current value: 1024)

    vim /etc/security/limits.conf

    添加如下所示两行

    root soft nofile 655350
    root hard nofile 655350

    三.部署安装

    1)开始安装

    -- obtest是集群名字,可随意设置
    obd cluster deploy obtest -c mini-single-example.yaml

    理解这一步时,2)启动OceanBase。启动之前先保证所选yml文件中的各项设置是否满足,比如内存,磁盘空间等

    obd cluster start obtest

    3)一些常规指令:

    # 查看集群列表 obd cluster list

    # 查看集群状态,以部署名为 obtest 为例 obd cluster display obtest

    # 停止运行中的集群,以部署名为 obtest 为例 obd cluster stop obtest

    # 销毁已部署的集群,以部署名为 obtest 为例 obd cluster destroy obtest

    在这个场景下,4)由于之前没有设置密码,OceanBase会自动生成一个无序密码,执行启动命令的时候会显示

    也能够借助obd cluster display obtest来查看

    理解这一步时,也能够在设置文件中查看(启动时是按照所选yml模板复制生成一份专属的yml文件,其他信息不变,密码设置会自动修改。

    能够借助obd cluster list查看设置地址)

    5)安装obclient(回到rpm包所在目录

    -- 安装obclient依赖
    rpm -i libobclient-2.2.2-3.el7.x86_64.rpm
    -- 安装obclient
    rpm -i obclient-2.2.2-1.el7.x86_64.rpm

    6)登录

    -- obclient登录(注意端口和密码指令参数的大小写)
    obclient -h192.168.x.x -P2881 -uroot@sys -p'xxxxxx'

    结合项目来看,“-uroot@sys”中,前面的root是用户(系统管理员),后面的sys是租户(系统租户)。

    理解这一步时,也能够直接采用obclient -h192.168.x.x -P2881 -uroot -p'xxxxxx'直接连接,不@租户的话默认选择的是sys租户。

    新建用户租户

    1)新建资源单元(新建资源池需)

    CREATE RESOURCE UNIT unit1 MAX_CPU 1, MAX_MEMORY '1G', MAX_IOPS 128,MAX_DISK_SIZE '10G', MAX_SESSION_NUM 64, MIN_CPU=1, MIN_MEMORY='1G', MIN_IOPS=128;

    该语句仅兼容 sys 租户的管理员执行。

    从实现思路看,语句中提及的参数不能省略,必须指定 CPU、Memory、IOPS、Disk Size 和 Session Num 的大小。

    落到代码里,为参数指定值时,能够采用纯数字不带引号的方式,也能够采用带单位加引号的方式(比如:'1T''1G''1M''1K')。

    比如: max_memory='10G' 等效于 max_memory=10737418240

    • MAX_MEMORY 的取值范围为 [1073741824,+∞),单位为字节,即最小值为 1 GB。
    • MAX_IOPS 的取值范围为 [128,+∞)。
    • MAX_DISK_SIZE 的取值范围为 [536870912,+∞],单位为字节,即最小值为 512 MB。
    • MAX_SESSION_NUM 的取值范围为 [64,+∞)。
    • MAX_CPUMAX_MEMORY 表示采用该资源设置的资源单元能够提供的 CPU和 Memory 的上限。
    • MIN_CPUMIN_MEMORY 表示采用该资源设置的资源单元能够提供的 CPU 和 Memory 的下限。

    2)新建资源池

    CREATE RESOURCE POOL pool1 UNIT='unit1',UNIT_NUM=1,ZONE_LIST=('zone1');

    sys 租户才能新建资源池。

    3)新建租户,并指定允许任何客户端 IP 连接该租户。

    CREATE TENANT IF NOT EXISTS test_tenant CHARSET='utf8mb4',ZONE_LIST=('zone1'), PRIMARY_ZONE='zone1', RESOURCE_POOL_LIST=('pool1') SET ob_tcp_invited_nodes='%' ;

    只有 root 用户连接到 sys 租户(root@sys)才能执行 CREATE TENANT 命令去新建租户。

    4)新建用户(新租户下的用户)

    -- 先登录新租户,新建租户的root管理员是没有密码的
    obclient -h192.168.x.x -P2881 -uroot@test_tenant -p
    -- 修改root用户密码
    ALTER USER root IDENTIFIED BY 'xxxxx'
    -- 创建新的普通用户
    CREATE USER 'user' IDENTIFIED BY 'xxxxx';
    -- 使用root用户给新建的user用户赋予操作权限
    GRANT ALL ON *.* TO user

    5)采用普通租户的普通用户登录

    obclient -h192.168.x.x -P2881 -uuser@test_tenant -p'xxxxxx'

    代码段 小部件

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。

    您可能感兴趣的文章:

    • OceanBase自动生成回滚SQL的全过程(数据库变更时)
    • Oracle中部分不兼容对象迁移到OceanBase的三种处理方式
    • 手动部署OceanBase三副本集群方式
    • docker部署OceanBase-ce cluster方式
    • 部署OceanBase-ce全过程

    相关资讯
    点击查看更多
    游戏推荐
    推荐专题
    热门阅读
    推荐下载