暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分布式数据库学习Note155:OceanBase社区版中,如何在集群中增加 Zone?

本节主要介绍如何通过在集群中增加 Zone 的方式进行集群的扩容。

在集群中增加 Zone 的操作可以通过 SQL 语句来完成。

通过 SQL 语句在集群中增加 Zone

您可以通过 SQL 语句向集群中增加 Zone 的方式来进行集群的扩容。该扩容方式通常用于将集群中租户的 3 副本升级为 5 副本的场景。在集群中增加 Zone,同时为新增的 Zone 添加与其他 Zone 等量的物理机台数。

假设集群中当前仅有 z1z2z3 三个 Zone,且三个 Zone 都属于同一个 Region,每个 Zone 内一台 OBServer。集群中有一个普通租户 tenant1,当前副本分布情况 locality='F@z1,F@z2,F@z3', resource_pool_list=('pool1');,根据业务需要,需要将租户 tenant1 由 3 副本调整为 5 副本,即租户的 Locality 由 F@z1,F@z2,F@z3 变为 F@z1,F@z2,F@z3,F@z4,F@z5

在集群中增加 Zone 并调整副本分布的操作如下:

  1. 使用 root 用户登录到数据库的 sys 租户。

  2. 集群中当前仅 z1z2z3 三个 Zone,需要在集群中增加 z4z5 两个 Zone。

    在集群中增加 Zone 的具体操作请参见 增加或删除 Zone

  3. 在 z4z5 两个 Zone 上各添加一台 OBServer。

    向 Zone 内添加 OBServer 的具体操作请参见 添加 OBServer

  4. 为租户 tenant1 在 z4z5 上添加资源。

    说明

    增加 Zone 成功后,您可以通过扩大租户资源池的 ZONE_LIST 范围或创建新资源池后再将资源池分配给租户等方式为租户添加资源,此处以创建新的资源池后再将资源池分配给租户为例提供操作指导,直接扩大租户资源池的 ZONE_LIST 范围的相关操作请参见 修改租户的资源配置

    1. 创建可用的资源单元和资源池。

      obclient>CREATE RESOURCE UNIT unit2 MAX_CPU 1, MIN_CPU=1, MEMORY_SIZE '5G', MAX_IOPS 1024, MIN_IOPS=1024, IOPS_WEIGHT=0,LOG_DISK_SIZE = '2G';
      
      obclient>CREATE RESOURCE POOL pool2 unit = 'unit2', unit_num = 1, zone_list=('z4','z5');
      
    2. 完成后,为租户在 z4z5 上添加资源。

      obclient>ALTER TENANT tenant1 RESOURCE_POOL_LIST =('pool1', 'pool2') ;
      
  5. 通过修改租户的 Locality 来增加副本。

    根据 Locality 的变更规则,每次只能增加一个 Zone 内的 Locality,Locality 的变更规则相关信息请参见 Locality 概述

    obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3,F@z4';
    
    obclient>ALTER TENANT tenant1 LOCALITY='F@z1,F@z2,F@z3,F@z4,F@z5';
    

    操作结束后,本次扩容完成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论