练习目的
本次练习目的是通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。

yum install docker - y
systemctl start docker
[root@localhost ~]# systemctl start docker

拉去ob最新镜像
docker pull obpilot/oceanbase-ce:latest
启动 ob 容器 oceanbase-ce
docker ps -a
进入 ob容器oceanbase-ce
docker exec -it oceanbase-ce bash
查看启动容器oceanbase-ce
obd cluster list
obd cluster start obdemo
通过proxy登录
obclient -h127.1 -uroot@sys#obdemo -P2883 -prootPWD123 -c -A oceanbase
修改资源规格,创建资源规格,创建资源规格池,创建 obmysql tenant :
alter resource unit sys_unit_config min_cpu=5;
create r esource unit S4C1G max_cpu=4,min_cpu=4,MEMORY_SIZE='2G',max_iops=10000,min_iops=10000,log_disk_size='2G';
CREATE resource pool my_pool unit = 'S4C1G', unit_num = 1;
create tenant obmysql resource_pool_list=('my_pool'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%', ob_compatibility_mode='mysql';
exit;
遇到资源修改问题,发现是参数在新版本不支持
语法如下
通过 CREATE RESOURCE UNIT 语句,创建资源规格。
语法如下:
CREATE RESOURCE UNIT unit_name
MEMORY_SIZE [=] 'size_value',
MAX_CPU [=] cpu_num,
[LOG_DISK_SIZE [=] 'size_value',]
[MAX_IOPS [=] iops_num,]
[MIN_CPU [=] cpu_num,]
[MIN_IOPS [=] iops_num];
参数说明:
创建资源规格时, MAX_CPU 和 MEMORY_SIZE 必选。
unit_name :资源规格名称。
MEMORY_SIZE :内存规格,其最小值由隐藏配置项 __min_full_resource_pool_memory 控制,默认为 5G ,支持最小可以调整为 4G 。 OceanBase 数据库 V4.0 开始不支持内存超卖。
MAX_CPU : CPU 规格上限, MIN_CPU 是 CPU 规格下限,单位是核数。如果用户没有指定 MIN_CPU ,默认等于 MAX_CPU 值。
MIN_CPU :最小的 CPU 规格,所有租户的 MIN_CPU 的总和不能超过该节点 CPU 总容量 CPU_CAPACITY 。
MAX_IOPS 和 MIN_IOPS : 指定当前 Unit 可使用的 IOPS 资源的上限和下限,最小值均为 1024 ,并且要求 MAX_IOPS >= MIN_IOPS 。
由于 MAX_IOPS 和 MIN_IOPS 设置后, OceanBase 数据库内部会统一按照 16 KB 读的 IOPS 值作为有效值进行处理,建议将 MAX_IOPS 和 MIN_IOPS 的值设置为当前磁盘计算出来的 16 KB 读对应的 IOPS 值,以便后续进行租户内的资源隔离。有关 IOPS 基准值的计算,请参见 磁盘性能校准;有关租户内资源隔离的详细介绍及操作,请参见 资源隔离概述。
如果 IOPS 相关参数未指定,其内部取值规则如下:
如果 MIN_IOPS 和 MAX_IOPS 均未指定,则系统根据 IOPS_WEIGHT 自动分配 IOPS 资源,此时:
MIN_IOPS 和 MAX_IOPS 的值均为 INT64_MAX 。
如果未指定 IOPS_WEIGHT 的值,则 IOPS_WEIGHT = MIN_CPU 。
如果指定了 IOPS_WEIGHT 的值,则以指定的值为准。
如果仅指定了 MAX_IOPS 的值,则 MIN_IOPS 的值取 MAX_IOPS 的值;同样,如果仅指定了 MIN_IOPS 的值,则 MAX_IOPS 的值取 MIN_IOPS 的值。此时:
如果 IOPS_WEIGHT 的值未指定,则默认为 0 。
LOG_DISK_SIZE :日志盘空间, OceanBase 数据库 V4.0 会按租户管理日志盘空间,系统为各个租户预留日志盘空间,实现按租户隔离。当用户没有指定时, LOG_DISK_SIZE 默认值是内存规格的 3 倍大小,最小为 2G 。
OceanBase 数据库 V4.0 支持租户间 IOPS 隔离,通过 MAX_IOPS 、 MIN_IOPS 、 IOPS_WEIGHT 三个参数决定。 IOPS 规格参数默认不需要指定,系统根据 CPU 规格自动计算。
登录到 obmysql tenant,创建业务数据:
obclient -h 127.1 -uroot@obmysql#obdemo -P2883 -p -c -A test empty password
show databases;
source bmsql.sql
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30349701/viewspace-3008560/ ,如需转载,请注明出处,否则将追究法律责任。