单机离线部署OceanBase3.1.5详解
作者:SinceFalling
一、官网下载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_CPU
和MAX_MEMORY
表示使用该资源配置的资源单元能够提供的 CPU和 Memory 的上限。MIN_CPU
和MIN_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'
代码段 小部件
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。