作者简介:海芊,一个致力于当网红的 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)
课后作业
最后留个课后作业,我们教了大家扩容,那么集群缩容该怎么进行呢?
参考资料
- 视频教程之 部署 OceanBase 集群。
- 视频教程之 创建 OceanBase 租户。
- 视频教程之 OceanBase 集群扩容。
- 配置文件示例。
如果您有任何疑问,可以通过以下方式与我们进行交流:
微信群:扫码添加小助手,将拉你进群哟~
钉钉群:33254054