返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

Resource Pool 管理
Resource Pool 管理功能包括创建、显示、重命名、修改、删除Consumer
Group 以及查看nodes 上资源使用情况、查看coordinators 上资源使用情况、
查看nodes 上资源使用历史、
查看coordinators 上资源使用历史和查看资源管
控事件。点击“创建Resource Pool”如下图所示:
图5- 471 创建Resource Pool
在弹出创建Resource Pool 页面中,填写相关信息,点击OK。

名称:Resource Pool 的名称。

类型:static和dynamic。资源池为集群任务执行过程中的资源供给者与管
理者,分为静态与动态两种,静态资源池为资源供给者,而动态资源池为
资源管理者,约束任务对资源的使用。一个静态资源池中可以包含多个动
态资源池。一个动态资源池只能且必须隶属于一个静态资源池。

Base On:
类型为dynamic 时可选,
下拉框为所有类型为static 的Resource
Pool。

Priority:共分8级,1为最高,8为最低,视为保留参数,建议统一配置1;
此优先级只针对cpu设置。

cpu_percent:使用CPU资源的百分比,以整数表示,范围为[1 ,100], 对
于静态资源池为CPU百分比带宽控制(可参考linux cgroup/cpu 中
cpu.cfs_quota_us参数说明, 计算公式为cpu.cfs_quota_us = (cpu_cores

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 127 -
*
cpu.cfs_period_us) * cpu_percent )
;对于动态池为CPU使用权重控
制(可参考linux/cgroup 中cpu.shares参数说明,
计算公式为cpu.shares =
1024 * cpu_percent)。

max_memory:最大使用内存量,设置单位为M, 动态池总值应小于或等于其
所在静态池设定;

若此项不受控,建议设置大于(物理内存+SWAP)最大值。

max_temp_diskspace:池中单个任务执行过程中可使用临时磁盘量,设置
单位为M;若此项不受控,建议设置大于物理磁盘空间大小;由于其为必填
参数,所以在不想对其关注的情况下,动态池参数总和不能超过静态池参
数。

max_disk_space:该资源池关联的所有用户的表空间占用磁盘总和,设置
单位为M;若此项不受控,建议设置大于物理磁盘空间大小;由于其为必填
参数,所以在不想对其关注的情况下,动态池参数总和不能超过静态池参
数。

max_disk_writeio:池中任务对所有磁盘访问的写速率限制,设置单位为
MB/S,此参数必须与DC同步I/O控制参数_gbase_dc_sync_size配合使用才
生效;gbase_dc_sync_size须小于等于所有动态池中设置的
max_disk_writeio值,建议_gbase_dc_sync_size=1M (DC同步I/O控制详细
介绍请参看下面的说明部分);若此项不受控,建议设置大于物理磁盘写性
能理论值;设置动态池总值应小于或等于其所在静态池设定(由于其为必
填参数,所以在不想对其关注的情况下,动态池参数总和不能超过静态池
参数)


max_disk_readio:池中任务对所有磁盘访问的读速率限制,设置单位为
MB/S;若此项不受控,建议设置大于物理磁盘读性能理论值;动态池总值
应小于或等于其所在静态池设定(由于其为必填参数,所以在不想对其关
注的情况下,动态池参数总和不能超过静态池参数)


max_activetask:此参数为动态资源池专属,表明同时池中可并发任务数,
此参数设置的一个主要考量点为内存,每个任务的内存使用量限制=
max_memory / max_activetask;如果其过大会使得每个任务内存使用量下
降,导致任务执行失败,缺省值20;如果下发任务数大于此参数值,则多

GBaseDataStudio 管理工具手册
- 128 -
南大通用数据技术股份有限公司
出的任务进入等待队列。

task_max_parallel_degree:
池中任务执行并发度,
缺省为16;
注:
one pass
group、并行hash group、并行update、并行order by,在并行物化阶段,
会占用2倍的并行度。应分配2倍富裕量的并行度来避免发生串行。此并发
度并不影响加载的并发度设置。

task_waiting_timeout:池中任务等待执行超时,设置单位为秒,其设置
经验值为task_waiting_timeout = 最大容忍等待队列长度*
(task_running_timeout * 调整系数)
;由于task_running_timeout一般
会高于池中任务实际执行时长,所以可做适当调整,缺省为2592000s。

task_running_timeout:池中任务执行超时,设置单位为秒,其调整可参
考集群中对于池中任务平均执行统计值,缺省为2592000s。

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 129 -
图5- 472 创建Resource Pool
创建成功后,左侧树会刷新节点,刷新结束后在Resource Pool 管理下方显示
Resource Pool 列表,如下图所示:

GBaseDataStudio 管理工具手册
- 130 -
南大通用数据技术股份有限公司
图5- 473 显示Resource Pool
点击“重命名Resource Pool”,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 131 -
图5- 474 重命名Resource Pool
在弹出的重命名窗口中,可以修改Resource Pool 的名称。
图5- 475 重命名Resource Pool
点击“修改Resource Pool”如下图所示:

GBaseDataStudio 管理工具手册
- 132 -
南大通用数据技术股份有限公司
图5- 476 修改Resource Pool
在弹出修改Resource Pool 页面中,可以修改Resource Pool 下的成员。名称、
Base On 和类型不能修改,其他参数可以修改,点击“OK”确认修改。

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 133 -
图5- 477 修改Resource Pool
点击“删除Resource Pool”
,可以删除Resource Pool,如下图所示:

GBaseDataStudio 管理工具手册
- 134 -
南大通用数据技术股份有限公司
图5- 478 删除Resource Pool
注意:

删除静态资源池,必须先删除其挂接的动态资源池。

若一个动态资源池在directive
点击“查看nodes 上资源使用情况”
,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 135 -
图5- 479 查看nodes 上资源使用情况

GBaseDataStudio 管理工具手册
- 136 -
南大通用数据技术股份有限公司
图5- 480 查看nodes 上资源使用情况
点击“查看coordinators 上资源使用情况”
,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 137 -
图5- 481 查看coordinators 上资源使用情况

GBaseDataStudio 管理工具手册
- 138 -
南大通用数据技术股份有限公司
图5- 482 查看coordinators 上资源使用情况
点击“查看nodes 上资源使用历史”
,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 139 -
图5- 483 查看nodes 上资源使用历史

GBaseDataStudio 管理工具手册
- 140 -
南大通用数据技术股份有限公司
图5- 484 查看nodes 上资源使用历史
点击“查看coordinators 上资源使用历史”
,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 141 -
图5- 485 查看coordinators 上资源使用历史

GBaseDataStudio 管理工具手册
- 142 -
南大通用数据技术股份有限公司
图5- 486 查看coordinators 上资源使用历史
点击“查看资源管控事件”
,如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 143 -
图5- 487 查看资源管控事件

GBaseDataStudio 管理工具手册
- 144 -
南大通用数据技术股份有限公司
图5- 488 查看资源管控事件

将数字X 格式化为“#,###,###.##”的形式,四舍五入到D 位小数。
如果D 为0,返回的结果将没有小数点和小数部分。
示例
示例1:将“12332.123456”进行格式化,四舍五入到4 位小数。
gbase> SELECT FORMAT(12332.123456, 4) FROM t;
+-------------------------+
| FORMAT(12332.123456, 4) |
+-------------------------+
| 12,332.1235 |
+-------------------------+
1 row in set
示例2:将“12332.1”进行格式化,四舍五入到4 位小数,小数部分不足四位,用
0 补足。
gbase> SELECT FORMAT(12332.1,4) FROM t;
+-------------------+
| FORMAT(12332.1,4) |
+-------------------+
| 12,332.1000 |
+-------------------+
1 row in set
示例3:如果D 为0,返回的结果将没有小数点和小数部分。
gbase> SELECT FORMAT(12332.2,0) FROM t;
+-------------------+
| FORMAT(12332.2,0) |
+-------------------+
| 12,332 |
+-------------------+
1 row in set


gs_verify_data_file(verify_segment bool)
描述:
校验当前实例当前库是否存在文件丢失的情况。
校验只包括数据表主文件是否有
中间段丢失的情况。默认参数是false,表示不校验段页式表数据文件。参数设置为true 时
仅校验段页式表文件。默认只有初始化用户、具有sysadmin 属性的用户以及在运维模式下
具有运维管理员属性的用户可以查看,其余用户需要赋权后才可以使用。
返回的结果:

非段页式表:
rel_oid 和rel_name 是对应文件的表oid 和表名,
miss_file_path
表示丢失文件的相对路径。

段页式表:因所有表存放在相同文件中,所以rel_oid 和rel_name 无法显示具
体表的信息。
对于段页式表,
如果第一个文件损坏,
不会检查出后面的.1 .2 等文件。
例如3、3.1、3.2 损坏,只能检查出3 损坏。当段页式文件不足5 个时,使用函数
检测时,未生成的文件也会校验出来,例如只有1 和2 文件,校验段页式时,也会
检测出3,4,5 文件。以下示例,第一个是校验非段页式表的示例,第二是校验段
页式表的示例。
参数说明:

verify_segment
指定文件校验的范围。false 校验非段页式表;true 校验段页式表。
取值范围:true 和false,默认是false。
返回值类型:record

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
578
示例:
校验非段页式表
gbase=# select * from gs_verify_data_file();
node_name
| rel_oid |
rel_name
|
miss_file_path
------------------+---------+--------------+------------------
dn_6001_6002_6003 |
16554 |
test
| base/16552/24745
校验段页式表
gbase=# select * from gs_verify_data_file(true);
node_name
| rel_oid | rel_name | miss_file_path
-------------------+---------+----------+----------------
dn_6001_6002_6003 |
0 | none
| base/16573/2

gs_repair_file(tableoid Oid,path text, timeout int)
描述:根据传入的参数修复文件,仅支持有正常主备连接的主DN 使用。参数依据
gs_verify_data_file 函数返回的oid 和路径填写。段页式表tableoid 赋值为0 到4,294,967,295
的任意值(内部校验根据文件路径判断是否是段页式表文件,段页式表文件则不使用
tableoid)
。修复成功返回值为true,修复失败会显示具体失败原因。默认只有在主DN 节点
上,使用初始化用户、具有sysadmin 属性的用户以及在运维模式下具有运维管理员属性的
用户可以查看,其余用户需要赋权后才可以使用。
a.
当DN 实例上存在文件损坏时,进行升主会校验出错,报PANIC 退出无法升主,
为正常现象。可在其他DN 升主后,通过备DN 自动修复进行修复。
b.
当文件存在但是大小为0 时,此时不会去修复该文件,
若想要修复该文件,需要将
为0 的文件删除后再修复。
c.
删除文件需要等文件fd 自动关闭后再修复,人工操作可以执行重启进程、主备切
换命令。
参数说明:

tableoid

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
579
要修复的文件对应的表oid,依据gs_verify_data_file 函数返回的列表中rel_oid 一
列填写。
取值范围:Oid,0 - 4294967295。注意:输入负值等都会被强制转成非负整数类
型。

path
需要修复的文件路径,依据gs_verify_data_file 函数返回的列表中miss_file_path 一
列填写。
取值范围:字符串。

timeout
等待备DN 回放的时长,修复文件需要等待备DN 回放到当前主DN 对应的位置,
根据备DN 回放所需时长设定。
取值范围:60s - 3600s。
返回值类型:bool
示例:
gbase=# select * from gs_repair_file(16554,'base/16552/24745',360);
gs_repair_file
----------------
t

local_bad_block_info()
描述:显示本实例页面损坏的情况。从磁盘读取页面,发现页面CRC 校验失败时进行
记录。默认只有初始化用户、具有sysadmin 属性的用户、具有监控管理员属性的用户以及
在运维模式下具有运维管理员属性的用户、
以及监控用户可以查看,
其余用户需要赋权后才
可以使用。
显示信息:file_path 是损坏文件的相对路径,如果是段页式表,则显示的是逻辑信息,
不是实际的物理文件信息。block_num 是该文件损坏的具体页面号,页面号从0 开始。
check_time 表示发现页面损坏的时间。repair_time 表示修复页面的时间。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
580
返回值类型:record
示例:
gbase=# select * from local_bad_block_info();
node_name
| spc_node | db_node | rel_node| bucket_node | fork_num | block_num
|
file_path
|
check_time
|
repair_time
-----------------+-------+--------+--------+--------------+----------+-------
----+-----------------+--------------------------+---------------------------
----
dn_6001_6002_6003|
1663 |
16552 |
24745 |
-1
|
0
| 0
| base/16552/24745 | 2022-01-13 20:19:08.385004+08 | 2022-01-13
20:19:08.407314+08
(1 rows)

local_clear_bad_block_info()
描述:清理local_bad_block_info 中已修复页面的数据,也就是repair_time 不为空的信
息。默认只有初始化用户、具有sysadmin 属性的用户以及在运维模式下具有运维管理员属
性的用户、以及监控用户可以查看,其余用户需要赋权后才可以使用。
返回值类型:bool
示例:
gbase=# select * from local_clear_bad_block_info();
result
--------
t
(1 rows)

gs_verify_and_tryrepair_page (path text, blocknum oid, verify_mem bool, is_segment bool)
描述:校验本实例指定页面的情况。默认只有在主DN 节点上,使用初始化用户、具有
sysadmin 属性的用户以及在运维模式下具有运维管理员属性的用户可以查看,
其余用户需要
赋权后才可以使用。
返回的结果信息:disk_page_res 表示磁盘上页面的校验结果;mem_page_res 表示内存
中页面的校验结果;is_repair 表示在校验的过程中是否触发修复功能,t 表示已修复,f 表示
未修复。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
581
当DN 实例上存在页面损坏时,进行升主会校验出错,报PANIC 退出无法升主,为正
常现象。可在其他DN 升主后,通过备DN 自动修复进行修复。
参数说明:

path
损坏文件的路径。依据local_bad_block_info 中file_path 一列填写。
取值范围:字符串。

blocknum
损坏文件的页号。依据local_bad_block_info 中block_num 一列填写。
取值范围:
Oid,
0 - 4294967295。
注意:
输入负值等都会被强制转成非负整数类型。

verify_mem
指定是否校验内存中的指定页面。设定为false 时,只校验磁盘上的页面。设置为
true 时,校验内存中的页面和磁盘上的页面。如果发现磁盘上页面损坏,会将内存
中的页面做一个基本信息校验刷盘,
修复磁盘上页面。
如果校验内存页面时发现页
面不在内存中,会经内存接口读取磁盘上的页面。此过程中如果磁盘页面有问题,
则会触发远程读自动修复功能。
取值范围:bool,true 和false。

is_segment
是否是段页式表。根据local_bad_block_info 中的bucket_node 列值决定。如果
bucket_node 为-1 时,表示不是段页式表,将is_segment 设置为false;非-1 的情况
将is_segment 设置为true。
取值范围:bool,true 和false。
返回值类型:record
示例:

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
582
gbase=# select * from
gs_verify_and_tryrepair_page('base/16552/24745',0,false,false);
node_name
|
path
|
blocknum
|
disk_page_res
| mem_page_res | is_repair
------------------+------------------+------------+--------------------------
---+---------------+----------
dn_6001_6002_6003 | base/16552/24745 |
0
| page verification
succeeded.|
| f

gs_repair_page(path text, blocknum oid, is_segment bool, timeout int)
描述:修复本实例指定页面,仅支持有正常主备连接的主DN 使用。页面修复成功返回
true,修复过程中出错会有报错信息提示。默认只有在主DN 节点上,使用初始化用户、具
有sysadmin 属性的用户以及在运维模式下具有运维管理员属性的用户可以查看,其余用户
需要赋权后才可以使用。
当DN 实例上存在页面损坏时,进行升主会校验出错,报PANIC 退出无法升主,为正
常现象。可在其他DN 升主后,通过备DN 自动修复进行修复。
参数说明:

path
损坏页面的路径。根据local_bad_block_info 中file_path 一列设置,或者是
gs_verify_and_tryrepair_page 函数中path 一列设置。
取值范围:字符串。

blocknum
损坏页面的页面号。根据local_bad_block_info 中block_num 一列设置,或者是
gs_verify_and_tryrepair_page 函数中blocknum 一列设置。
取值范围:
Oid,
0 - 4294967295。
注意:
输入负值等都会被强制转成非负整数类型。

is_segment
是否是段页式表。根据local_bad_block_info 中的bucket_node 列值决定,如果

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
583
bucket_node 为-1 时,表示不是段页式表,将is_segment 设置为false;非-1 的情况
将is_segment 设置为true。
取值范围:bool,true 或者false。

timeout
等待备DN 回放的时长。修复页面需要等待备DN 回放到当前主DN 对应的位置,
根据备DN 回放所需时长设定。
取值范围:60s - 3600s。
返回值类型:bool
示例:
gbase=# select * from gs_repair_page('base/16552/24745',0,false,60);
result
--------
t
(1 row)