如何借助OBD,用极简方式为 OceanBase 集群扩容?

2024年 5月 7日 63.1k 0

作者简介:海芊,一个致力于当网红的 OceanBase 文档工程师。

个人频道:Amber loves OB

本文将介绍如何把 1-1-1 的集群扩容成 2-2-2 的集群。

手动启动 OceanBase 进程固然没错,但是有没有更简便的方式呢?答案是肯定的!

今天就来教大家借助 OBD 完成集群扩容。亲测有效,快点上车吧~~

P.S. 配合视频教程一起食用效果更佳噢~~视频教程,点击 OceanBase 扩容。

我们此前已经部署了一个 1-1-1 的集群,详细信息参考 部署 OceanBase 集群。集群配置文件示例见 这里。

查看集群信息

首先,连接 OceanBase 数据库:

obclient -h 127.0.1 -uroot@sys -P2888 -A -c

然后,创建一个普通租户 amber_babe:

CREATE RESOURCE UNIT S1 max_cpu=2, min_cpu=2, max_memory='2G', min_memory='2G',max_iops=1000, min_iops=1000, max_session_num=10000, max_disk_size='20G';
CREATE RESOURCE POOL amber_1 unit=S1, unit_num=1;
CREATE TENANT amber_babe resource_pool_list=("amber_1");
ALTER TENANT amber_babe SET VARIABLES ob_tcp_invited_nodes='%';
SELECT * FROM oceanbase.gv$tenant;

然后,查看租户是否创建成功:

如何借助OBD,用极简方式为 OceanBase 集群扩容?-1

再然后,此时查看机器列表:

select svr_ip,id,zone,status from __all_server;

继续,返回以下结果:

如何借助OBD,用极简方式为 OceanBase 集群扩容?-2

最后,可以看到此时有 3 台机器,接下来我们开始扩容。

操作步骤

1.写一份新的配置文件,然后再用 OBD 拉起三个新的进程。

配置文件示例 这里。

obd cluster deploy amber2 -c amber2.yaml

2.把新的配置复制一份到老的配置里面。

3.再次启动集群。

obd cluster start amber -c amber.yaml

4.重新连接 OceanBase,添加新的进程。

ALTER SYSTEM ADD SERVER 'server_ip:port_num' ZONE 'zone1';
ALTER SYSTEM ADD SERVER 'server_ip:port_num' ZONE 'zone2';
ALTER SYSTEM ADD SERVER 'server_ip:port_num' ZONE 'zone3';

5.查看扩容结果。

如何借助OBD,用极简方式为 OceanBase 集群扩容?-3可以看到每个 zone 都有两个进程了,扩容成功。

6.为业务租户 amber_babe 扩容。

执行以下命令,添加 unit 数量:

MySQL [oceanbase]> alter resource pool amber_1 unit_num=2;
Query OK, 0 rows affected (0.146 sec)

课后作业

最后留个课后作业,我们教了大家扩容,那么集群缩容该怎么进行呢?

参考资料

  • 视频教程之 部署 OceanBase 集群。
  • 视频教程之 创建 OceanBase 租户。
  • 视频教程之 OceanBase 集群扩容。
  • 配置文件示例。

如果您有任何疑问,可以通过以下方式与我们进行交流:

微信群:扫码添加小助手,将拉你进群哟~

如何借助OBD,用极简方式为 OceanBase 集群扩容?-4

钉钉群:33254054

如何借助OBD,用极简方式为 OceanBase 集群扩容?-5

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论