一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2026-09-07 20:00:01 编辑:袖梨 来源:一聚教程网

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

一、官网下载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全过程

热门栏目