返回首页

gbase数据、南大通用产品文档:GBase8a集群级备份数据恢复

更新日期:2024年09月11日

功能说明
对集群级的备份数据进行恢复。
进行备份恢复操作时,
必须保证集群在RECOVERY
模式下。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
400
首先使用gcadmin switchmode recovery 命令将集群置为RECOVERY 模式,此命令
仅在一个部署gcware 的节点上执行一次即可。
恢复执行完成后,需要手动执行gcadmin switchmode normal 将集群状态置为正常,
才可以正常使用集群。
注意
对于集群级别恢复,要求集群拓扑结构严格对等。包括集群的vc 信息,
coordinator 节点个数,data 节点个数,每个节点和分片的对应关系和
distribution ID 等。当用户重装集群后,
即使用户保证了coordinator, datanode
的个数,datanode 与distribution 之间的关系,也可能因为distribution ID 的
变化而导致不能恢复。
语法格式
recover [ [point_id]]
表4- 57 options 可选项说明
参数名称


cycle_id
备份周期的ID
point_id
备份点的ID
recover 命令有以下三种形式:

recover:将集群恢复到最新周期的最新备份点。

recover cycle_id:将集群恢复到指定周期cycle_id 内的最新备份点。

recover cycle_id point_id:将集群恢复到指定周期cycle_id 内的指定备份点
point_id。
示例
查看集群状态:
$ gcadmin showcluster vc vc1
CLUSTER STATE:
ACTIVE
VIRTUAL CLUSTER MODE:
RECOVERY
==========================================================
|
GBASE VIRTUAL CLUSTER INFORMATION
|
==========================================================
|
VcName
| DistributionId |
comment
|
----------------------------------------------------------
|
vc1
|
1
| comment message for vc1 |
----------------------------------------------------------

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
401
===========================================================
=======
|
VIRTUAL CLUSTER DATA NODE INFORMATION
|
===========================================================
=======
|NodeName|
IpAddress
|DistributionId|gnode|syncserver|DataState|
------------------------------------------------------------------
| node1
|172.168.83.11|
1
|OPEN |
OPEN
|
0
|
------------------------------------------------------------------
| node2
|172.168.83.12|
1
|OPEN |
OPEN
|
0
|
------------------------------------------------------------------
2 data node
$ gcadmin showcluster vc vc2
CLUSTER STATE:
ACTIVE
VIRTUAL CLUSTER MODE:
RECOVERY
========================================================
|
GBASE VIRTUAL CLUSTER INFORMATION
|
========================================================
| VcName
| DistributionId |
comment
|
--------------------------------------------------------
|
vc2
|
2
| comment message for vc2 |
--------------------------------------------------------
===========================================================
=======
|
VIRTUAL CLUSTER DATA NODE INFORMATION
|
===========================================================
=======
|NodeName|
IpAddress
|DistributionId|gnode|syncserver|DataState|
------------------------------------------------------------------
| node1
|172.168.83.13|
2
|OPEN |
OPEN
|
0
|
------------------------------------------------------------------
| node2
|172.168.83.14|
2
|OPEN |
OPEN
|
0
|
------------------------------------------------------------------
2 data node
对集群的备份数据进行恢复,恢复到最新周期得最近备份点:
$ python $GCLUSTER_BASE/server/bin/gcrcman.py -d /home/gbase/backup -P
gbasedba–p ****** -e "recover"

用户可以通过界面查看集群系统日志。如下图:
图3.3-60 集群系统日志
上图中的查询条件描述如下:

服务器:单选,默认为第一项的服务器ip 或主机名,按升序排列。

日志类型:为单选下拉框,包括所有日志、其他为平台管理中集群中
定义的进程信息。进程排序跟平台管理中一致。默认为所有日志。

日志关键字:长度100 字符,支持正则表达式查询,默认为error 关
键字。

日志时间:支持日历控件选择。默认为当前操作最近1 小时。查询时
包含起止时间。
上图中的查询结果描述:根据条件查询符合条件的日志信息。对于IP、日
志关键字进行模糊查询。查询结果按照IP、日志类型、时间进行升序排序。其
中类型按照条件类型进行排序。
默认查询为含有error 关键字的系统日志,并且
支持分页。点击表格表头后,可以按当前列进行升序或降序排列。
表格内容如下:

服务区:产生系统日志的服务器IP 或主机名。

日志时间:服务器产生系统日志的时间。

日志内容:服务器产生系统日志的内容。包含error 关键字的日志内
容标红。
点击“日志内容”列对应的信息,
可以进入“日志详细信息”
页面,并自动显示当前日志内容详情。

统一数据平台监控与运维系统用户手册
- 168 -
南大通用数据技术股份有限公司
日志查询结果导出:
点击页面右上角的查询结果导出,
会将目前查询结果,
导出为csv 文件。

算子buffer(session): 从gbase_heap_large 堆上分配。
算子buffer 均为session 级别,即如果设置gbase_buffer_result=1G,且任
务数为30,则在执行过程中,30 任务总共占用的gbase_buffer_result 就为1G x
30 = 30G,对于一般机器来说已经算很大了,这还不算其他的算子buffer。所以
如果在高并发环境中将某一个算子buffer 设置很大的话,很有可能就会出现内存
不足无法分配的情况。
gbase_buffer_distgrby
用于保存distinct 操作的中间结果;
gbase_buffer_hgrby
用于保存hash group by 操作的中间结果;
gbase_buffer_hj
用于保存hash join 操作的中间结果;
gbase_buffer_insert
用于保存insert values 的中间结果;
gbase_buffer_result
用于保存物化的中间结果;

GBase 8a MPP Cluster 最佳实践
4 参数调优
文档版本(2022-02-11)
南大通用数据技术股份有限公司
43
gbase_buffer_rowset
用于保存join 的行号;
gbase_buffer_sj
用于保存sort merge join 的中间结果,当join 条件是a>=b 或者a<=b 时,可
能会使用sort merge join;
gbase_buffer_sort
用于保存sort 操作的中间结果;
综述说明
算子buffer 的设置原则:
一般情况下(非高并发场景),根据系统内存大小,算子buffer 可以按照如下方
法设置:
gbase_buffer_hgrby 和gbase_buffer_hj 最大不超过4G;
gbase_buffer_result 最大不超过2G;
gbase_buffer_rowset 最大不超过1G;
其他算子使用系统估算即可。
如果在高并发场景下,
则不需要设置过大的算子buffer,
一般以系统自动评估为准。
但如果并发数过大,不排除需要人为将算子buffer 设置更小的情况。具体标准参
考上面提到的“算子buffer 的特点”,即并发数x 总算子buffer 大小不超过
gbase_heap_large 为宜,但最大也不能超过系统总内存大小。
修改算子buffer 的其它场景:
在进行poc 时,如果某条sql 由于某个算子执行过慢(瓶颈点可参考单机trace),
可以适当调大与之对应算子buffer。如根据trace 发现join 较慢,可以适当调大
gbase_buffer_hj 的值。
但是需要注意,
调整该值时必须不能影响其他sql 的执行,
且必须是现场允许修改系统参数时才可以。如整个测试只允许在开始时设置参数,
开始测试后就不允许再修改,如果开始时就把算子buffer 设置的很大,而后面又
有高并发测试,就很容易会出问题。

GBase 8a MPP Cluster 最佳实践
4 参数调优
文档版本(2022-02-11)
南大通用数据技术股份有限公司
44