作者简介:海芊,一个致力于当网红的 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;
然后,查看租户是否创建成功:

再然后,此时查看机器列表:
select svr_ip,id,zone,status from __all_server;
继续,返回以下结果:

最后,可以看到此时有 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.查看扩容结果。
可以看到每个 zone 都有两个进程了,扩容成功。
6.为业务租户 amber_babe 扩容。
执行以下命令,添加 unit 数量:
MySQL [oceanbase]> alter resource pool amber_1 unit_num=2; Query OK, 0 rows affected (0.146 sec)
课后作业
最后留个课后作业,我们教了大家扩容,那么集群缩容该怎么进行呢?
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




