ITPub博客

首页 > 数据库 > 国内数据库 > 实践练习一(必选):OceanBase Docker 体验

实践练习一(必选):OceanBase Docker 体验

原创 国内数据库 作者:zy_rain 时间:2024-03-10 21:25:40 0 删除 编辑

实践练习一(必选):OceanBase Docker 体验

练习目的

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

1. 环境信息

 

2.yum 安装docker

 yum install docker - y

systemctl start docker

[root@localhost ~]# systemctl start docker


3. 部署 ob集群

拉去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

 

4. 创建一个oceanbase mysql tenant,创建一些业务数据

通过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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
没有刻骨铭心的记忆,怎么会有潇洒自如的帅气!

注册时间:2015-07-15

  • 博文量
    16
  • 访问量
    18031