更新时间:2024-12-11 GMT+08:00
教程:设置只读逻辑集群并绑定用户
场景介绍
如果在不同时段内业务流量差异非常大,3节点集群又无法满足高峰期的吞吐量要求,但扩容至6节点又存在资源浪费或费用较高问题。用户可通过本章教程再结合弹性增删逻辑集群功能,实现类似于“晚上低峰期3节点,白天6节点,高峰期9节点”的弹性扩展功能。
本章演示了一组新扩容逻辑集群(无业务数据)配置为只读,并将部分用户切换到此只读逻辑集群上,实现用户创建的表都仍然在其原始的NodeGroup上,但计算逻辑都切到只读逻辑集群上执行效果。
前提条件
参见创建GaussDB(DWS)存算分离集群章节创建6个节点的集群,并已划分为两个逻辑集群v3_logical和lc1,其中lc1暂无业务数据。
配置只读逻辑集群,并将用户切换到只读逻辑集群上
- 以系统管理员dbadmin连接数据库,执行以下SQL语句查看逻辑集群创建成功。
1
SELECT group_name FROM PGXC_GROUP;
- 设置逻辑集群lc1为只读。
1 2 3
SET xc_maintenance_mode=on; ALTER NODE GROUP lc1 SET READ ONLY; SET xc_maintenance_mode=off;
- 创建用户。
1
create user testuser password 'testuser12#$%';
- 绑定用户到逻辑集群lc1,如下语句中的testuser、lc1等变量需结合实际情况替换。
首先我们需要找到用户的NodeGroup,如果能查到记录,将其设置到该用户的default_storage_nodegroup上,以便该用户创建的表都仍然在其原始的NodeGroup上;若查不到记录,直接进行后面的两条alter语句即可。
1 2
SELECT nodegroup FROM pg_user WHERE usename='testuser'; ALTER USER testuser SET default_storage_nodegroup='nodegroup'; //这里nodegroup需替换为上述SQL查到的NodeGroup名
同时将用户绑定到新的只读逻辑集群上,这样该用户的计算逻辑都会切到只读逻辑集群上执行。
1 2
ALTER USER testuser NODE GROUP lc1; ALTER USER testuser SET enable_cudesc_streaming=ON;
父主题: GaussDB(DWS)逻辑集群管理