目录
一、环境信息
二、介绍
三、属性
四、gcadmin语法
五、操作
1、创建Warehouse模板
2、配置Warehouse文件
3、创建Warehouse
4、查看Warehouse
5、重命名Warehouse
6、挂起Warehouse
(1)语法介绍
(2)示例
(3)验证
7、唤醒Warehouse
(1)语法介绍
(2)示例
(3)验证
8、使用Warehouse
一、环境信息
名称 | 值 |
CPU | Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz |
操作系统 | CentOS Linux release 7.9.2009 (Core) |
内存 | 4G |
逻辑核数 | 4 |
GCDW版本 | 9.8.0.6.17 |
集群节点1IP | 192.168.142.10 |
二、介绍
Warehouse是GCDW 租户的计算仓库,主要为租户的数据操作提供计算服务,是给用户的一种计算资源使用方式,归属于租户实例下,为租户业务执行提供算力。 租户有了 warehouse 才可以正常执行 sql。 GCDW 支持创建 warehouse、修改 warehouse、删除 warehouse、查询 warehouse 的状态、唤醒 warehouse、挂起 warehouse、获取 warehouse 的计算节点信息等操作。
编号 | 描述 |
1 | 一个租户可以创建多个 warehouse 仓库,用户根据业务的类型选择其中某一 个合适的 warehouse 执行业务。如:通常用户有自己默认的 warehouse,用户执行业务时可以直接使用默认的 warehouse 也可以选择和指定一个其他的 warehouse。 |
2 | 一个 Warehouse 仓库有且仅有一个计算集群,计算集群中是用户指定数量的计算节点。相当于GBase 8a MPP Cluster中不带存储的gnode。 |
3 | warehouse 仓库中计算集群的节点可以根据需要弹性扩展,使用扩容操作将 freenode 加入到 warehouse 计算集群中。 |
4 | 用户可以有多个 warehouse 仓库,但是执行一项业务只能选择其中一个 warehouse 仓库,执行期间该业务 sql 都依靠这个选定的 warehouse 仓库提供算力。 所以在执行前根据业务类型在初始就选择好合适的 warehouse 仓库。 |
5 | 一项任务只能放在一个 warehouse 上执行,任务开始时即指定一个合适的warehouse。 |
6 | 如果任务执行过程中 warehouse 有计算节点异常,则会自动触发任务重试,重试的 sql 将排除异常计算节点,在剩余完好的计算节点上进行执行。 |
7 | 如果 warehouse 中有计算节点发生硬件故障等问题无法自动恢复,可以使用节点替换将好的服务器替换故障节点。 |
三、属性
编号 | 描述 |
1 | 物理机部署模式下的 warehouse 内有且仅有一个计算集群,在创建 warehouse 时指定该 warehouse 内初始节点,warehouse 启动时内部所有节点同时启动,为 warehouse 接受的任务提供算力。物理机部署模式下 Warehouse 内的节点,可以在创建 warehouse 时,自行指定任意数量的节点。 |
2 | 物理机部署模式下的 warehouse 不支持自动扩展,在运行过程中可根据负载或性能需求人工进行扩展,扩展以节点为最小单位,可以按需加入指定数量的节点 |
四、gcadmin语法
[gbase@czg0 gcinstall]$ gcadmin --helpUsage: gcadmin <command> [arg1[, arg2...]]1. gcadmin addnodes gcChangeInfo.xml [wh_name] : add nodes to cluster or wh2. gcadmin rmnodes gcChangeInfo.xml [wh_name] : remove nodes from cluster or wh3. gcadmin switchmode <mode> [vc vc_name | coordinator] : switch cluster mode, mode take value in[ normal | readonly | recovery ],[vc vc_name] is unnecessary if only one vc4. gcadmin showlock [f] : show current cluster lock information,include lock name, lock owner ip address, etc5. gcadmin showcluster [c | wh whname] [d] [g] [f] : show vc or cluster information, include all nodes,cluster state and cluster node information6. gcadmin setnodestate ip <state> : set one node state,state take value in: failure unavailable normal7. gcadmin showfailover [f] : show failover information8. gcadmin showfailoverdetail <commitId> [xml_file_name] : write failover information to file [xml_file_name]9. gcadmin renamewh <old_wh_name> <new_wh_name> : rename warehouse cluster10. gcadmin createwh <create_wh.xml | e example_file_name> : create warehouse11. gcadmin rmwh <wh_name> : remove warehouse12. gcadmin startwh <wh_name1 wh_name2 ...> <os_dba_user_name> <os_dba_password> : start warehouse13. gcadmin stopwh <wh_name1 wh_name2 ...> <os_dba_user_name> <os_dba_password> : stop warehouse14. gcadmin --help : show help info15. gcadmin -V,--version : show version info
五、操作
1、创建Warehouse模板
[gbase@czg0 gcinstall]$ gcadmin createwh e WhCzg.xml
2、配置Warehouse文件
[gbase@czg0 gcinstall]$ cat WhCzg.xml
<?xml version='1.0' encoding="utf-8"?>
<servers><rack><node ip="192.168.142.10"/></rack><wh_name name="WhCzg"/><comment message="Czg"/></servers>
3、创建Warehouse
[gbase@czg0 gcinstall]$ gcadmin createwh WhCzg.xml
parse config file WhCzg.xml
generate wh id: wh00002
add wh information to cluster
add nodes to wh
create gclusterdb.dual successful
gcadmin create wh [WhCzg] successful
4、查看Warehouse
[gbase@czg0 gcinstall]$ gcadmin showcluster wh whczg
CLUSTER STATE: ACTIVE============================
| GBASE WAREHOUSE INFORMAT |
============================
| WhName | comment |
----------------------------
| whczg | Czg |
----------------------------
===============================================================
| WAREHOUSE DATA NODE INFORMATION |
===============================================================
| NodeName | IpAddress | gnode |
---------------------------------------------------------------
| node1 | 192.168.142.10 | OPEN |
---------------------------------------------------------------1 data node
5、重命名Warehouse
[gbase@czg0 gcinstall]$ gcadmin renamewh whczg WH_CZG
gcadmin rename wh [whczg] to [WH_CZG] successful
6、挂起Warehouse
(1)语法介绍
gcadmin stopwh <wh_name1 wh_name2 ...> <os_dba_user_name> <os_dba_password>
(2)示例
[gbase@czg0 gcinstall]$ gcadmin stopwh wh_czg gbase gbase
gcadmin stopwh ...
gcadmin stopwh check wh exist
gcadmin stopwh get wh node list
gcadmin stop warehouse successful
(3)验证
[gbase@czg0 gcinstall]$ gcadmin showcluster wh WH_CZG
CLUSTER STATE: ACTIVE============================
| GBASE WAREHOUSE INFORMAT |
============================
| WhName | comment |
----------------------------
| wh_czg | Czg |
----------------------------
===============================================================
| WAREHOUSE DATA NODE INFORMATION |
===============================================================
| NodeName | IpAddress | gnode |
---------------------------------------------------------------
| node1 | 192.168.142.10 | CLOSE |
---------------------------------------------------------------1 data node
7、唤醒Warehouse
(1)语法介绍
gcadmin startwh <wh_name1 wh_name2 ...> <os_dba_user_name> <os_dba_password>
(2)示例
[gbase@czg0 ~]$ gcadmin startwh wh_czg gbase gbase
gcadmin startwh ...
gcadmin startwh check wh exist
gcadmin startwh get wh node list
gcadmin start warehouse successful
(3)验证
[gbase@czg0 ~]$ gcadmin showcluster wh WH_CZG
CLUSTER STATE: ACTIVE============================
| GBASE WAREHOUSE INFORMAT |
============================
| WhName | comment |
----------------------------
| wh_czg | Czg |
----------------------------
===============================================================
| WAREHOUSE DATA NODE INFORMATION |
===============================================================
| NodeName | IpAddress | gnode |
---------------------------------------------------------------
| node1 | 192.168.142.10 | OPEN |
---------------------------------------------------------------1 data node
8、使用Warehouse
[gbase@czg0 ~]$ gccli -uroot -pqwer1234GBase client 9.8.0.6.17_patch.19971bae. Copyright (c) 2004-2024, GBase. All Rights Reserved.gbase>
gbase> CREATE USER CZG IDENTIFIED BY 'qwer1234';
Query OK, 0 rows affected (Elapsed: 00:00:00.10)gbase> ALTER USER CZG DEFAULT_WAREHOUSE = 'WH_CZG';
Query OK, 0 rows affected (Elapsed: 00:00:00.07)gbase> USE CLOUD;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> SELECT * FROM CLOUD.USER WHERE USER = 'CZG' \G;
*************************** 1. row ***************************user: CZGpassword: *D75CC763C5551A420D28A227AC294FADE26A2FF2plugin: gbase_native_passwordauth_string: create_time: 2024-07-15 14:07:30last_login_time: NULLgrant_role: publicadminswitch_role: publicadmindefault_role: publicadmindefault_warehouse: wh_czguid: 33owner: accountadminssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0max_updates: 0max_connections: 0max_user_connections: 0max_cpus: 0max_memories: 0max_tmp_space: 0resource_group: 0task_priority: 2
user_limit_storage_size: user_storage_size: 0comment:
1 row in set (Elapsed: 00:00:00.07)ERROR:
No query specifiedgbase>
gbase> CREATE TABLE CZG.ZXJ (A INT);
Query OK, 0 rows affected (Elapsed: 00:00:00.26)gbase> USE WAREHOUSE WH_CZG;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)gbase> INSERT INTO CZG.ZXJ VALUES(1);
Query OK, 1 row affected (Elapsed: 00:00:00.27)gbase> COMMIT;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)