鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

验证OceanBase

部署OceanBase完成后,需要验证OceanBase是否已经可用。在验证OceanBase前,需要先创建租户。

OceanBase是支持多租户的数据库,OceanBase数据库租户是一个逻辑概念,是资源分配单位,OceanBase数据库租户间的数据是完全隔离的,每个租户都相当于传统数据库的一个数据库实例。

OceanBase数据库租户分为系统租户和普通租户。本节介绍通过创建普通租户来验证OceanBase。OceanBase数据库默认会自动创建系统租户,系统租户负责一部分OceanBase数据库管理工作,并且能够访问系统元数据表。系统租户自动预留了一定的资源。

以下为创建普通租户以及数据库的详细操作步骤:

  1. 使用root用户通过OBClient连接OceanBase。
    obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A

    以下参数请根据实际情况修改:

    • 127.0.0.1和2883为OceanBase服务器的IP地址和端口号。
    • root为数据库用户。
    • oceanbase为OceanBase数据库的名称。
  2. 创建资源单位。
    • OceanBase 3.1.5:
      CREATE RESOURCE UNIT sysbench_unit max_cpu = 122, max_memory = '200G', min_memory = '200G', max_iops = 102400,  max_session_num = 30000, max_disk_size = '120G';

      以下参数请根据实际情况修改:

      • sysbench_unit为本例中需要创建的资源单位名称。
      • MAX_CPU和MAX_MEMORY表示使用该资源配置的资源单元能够提供的CPU和Memory的上限。
      • MAX_MEMORY的取值范围为[1073741824,+∞),单位为字节,即最小值为1GB。
      • MAX_IOPS的取值范围为[128,+∞)。
      • MAX_SESSION_NUM的取值范围为[64,+∞)。
    • OceanBase 4.2.1:
      CREATE RESOURCE UNIT sysbench_unit MEMORY_SIZE='200g',LOG_DISK_SIZE='120g',MIN_CPU=122,MAX_CPU=122,MAX_IOPS=102400,MIN_IOPS=102400;

      以下参数请根据实际情况修改:

      • sysbench_unit为本例中需要创建的资源单位名称。
      • MEMORY_SIZE字段用于指定内存容量。最小值为1GB。
      • MIN_CPU和MIN_MEMORY表示使用该资源配置的资源单元能够提供的CPU和Memory的下限。
      • LOG_DISK_SIZE字段用于指定租户的Unit日志盘的大小。默认值为内存规格值的3倍,最小值为2GB。
      • MIN_CPU字段用于指定CPU的最少数量,为可选项。默认等于MAX_CPU,最小值为1C。
      • MAX_CPU字段用于指定CPU的最多数量。最小值为1C。
      • MAX_IOPS字段用于指定IOPS的最多数量,为可选项。最小值为1024。
      • MIN_IOPS字段用于指定IOPS的最少数量,为可选项。最小值为1024。
  3. 创建资源池。
    CREATE RESOURCE POOL sysbench_pool unit = 'sysbench_unit', unit_num = 1, zone_list=('zone1','zone2','zone3');

    以下参数请根据实际情况修改:

    • sysbench_pool为本例中需要创建的资源池名称。
    • sysbench_unit为2中创建的资源单位名称。
    • unit_num字段用于指定要创建的单个Zone下的Unit个数。每个单元会根据当前集群负载,自动在每个Zone中选择一个Server负载,但同一个资源池的多个Unit不能分配到同一个Server,即一个资源池包含的Unit个数不能超过单Zone内Server的个数。指定要创建的单个Zone下的Unit个数。每个单元会根据当前集群负载,自动在每个Zone中选择一个Server负载,但同一个资源池的多个Unit不能分配到同一个Server,即一个资源池包含的Unit个数不能超过单Zone内Server的个数。
    • zone_list字段用于指定要创建的资源池所属的Zone。指定要创建的资源池所属的属于哪些Zone。可以通过查询oceanbase.DBA_OB_ZONES视图,获取集群中的Zone信息,操作步骤如下:
      1. 使用root用户登录到集群的系统租户。连接示例如下,连接数据库时请以实际环境为准。
        obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
      2. 在数据库中查询oceanbase.DBA_OB_ZONES视图,获取集群中的Zone信息。
        SELECT * FROM oceanbase.DBA_OB_ZONES;
  4. 创建普通租户。
    create tenant sysbench_tenant resource_pool_list=('sysbench_pool'), charset=utf8mb4, replica_num=3, zone_list('zone1', 'zone2', 'zone3'), primary_zone=RANDOM, locality='F@zone1,F@zone2,F@zone3' set variables ob_compatibility_mode='mysql', ob_tcp_invited_nodes='%';

    以下参数请根据实际情况修改:

    • sysbench_tenant为本例中需要创建的租户名称。
    • sysbench_pool为资源池名称。
    • charset字段用于指定字符集。
    • replica_num字段用于指定副本数。一般情况下设置为与Zone数相同,且不允许超过Zone数。
    • zone_list字段用于指定要创建的资源池所属的Zone。
    • primary_zone字段用于指定租户所在的PrimaryZone名称。
    • locality字段用于描述副本在Zone间的分布情况。
    • ob_compatibility_mode字段用于指定租户的兼容模式(可选MySQL或Oracle模式),而且只能在创建时指定;如果不指定ob_compatibility_mode,默认兼容模式为MySQL。
  5. 使用root用户登录创建的租户下的系统默认数据库。
    obclient -h127.0.0.1 -P2883 -uroot@sysbench_tenant -Doceanbase -A

    以下参数请根据实际情况修改:

    • 127.0.0.1和2883为OceanBase服务器的IP地址和端口号。
    • root为数据库用户,sysbench_tenant为数据库租户。
    • oceanbase为OceanBase数据库的名称。
  6. 创建sysbench_tenant租户下的数据库。
    CREATE DATABASE sysbench_test;

    sysbench_test为本例中需要创建的sysbench_tenant租户下的数据库,请根据实际情况修改。

    完成1~6后,即可使用创建的普通租户以及数据库。