返回首页

gbase数据、南大通用产品文档:GBase8c环境检查

更新日期:2024年09月11日

特殊配置
检查各服务器上操作系统的型号和版本,
进行相应的额外特殊配置。
该环节动作需要以
root 用户进行操作。

CentOS/RHEL 7.2+操作系统,请参阅CentOS/RHEL 7.2+环境配置。

Kylin V10 操作系统,请参阅Kylin V10 环境配置。

基于Ubuntu 操作系统,请参阅基于Ubuntu 环境配置。

其他操作系统,暂不需要额外配置。
软件检查
步骤1 检查集群各主机hostname。若重名可能导致安装失败。
# 检查hostname
[root@gbase8c ~]# hostname
# 修改hostname
[root@gbase8c ~]# vim /etc/hostname
步骤2 检查bison、flex、patch、bzip2 依赖是否已安装,执行如下命令:
[root@gbase8c ~]# rpm -q bison flex patch bzip2
bison-3.0.4-2.el7.x86_64
flex-2.5.37-6.el7.x86_64
patch-2.7.1-12.el7_7.x86_64
bzip2-1.0.6-13.el7.x86_64
返回如下信息即可。否则下载缺少的软件依赖,如:
[root@gbase8c ~]# yum install -y bison flex patch bzip2
步骤3 虚拟机环境下,检查是否支持rdtscp 指令集,执行如下命令:
[root@gbase8c ~]# cat /proc/cpuinfo | grep rdtscp

GBase 8c V5 安装部署手册(主备式)
南大通用数据技术股份有限公司
9
返回如下信息即可。否则请参考对应CPU 型号官网资料,安装rdtscp 指令集。
flags
: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc
arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3
cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes hypervisor lahf_lm ssbd
ibrs ibpb stibp tsc_adjust arat spec_ctrl intel_stibp flush_l1d arch_capabilities
……
安装时后台自动进行环境检查。若某项不通过,则返回报错信息提示用户修改;若全部
通过,前台不返回检查信息。

many tuples
问题现象
限制物化结果记录数参数过小,执行sql 报错Too many tuples。
解决方法
20 节点集群中将1.1T 数据(108 亿)翻倍626 次后,查询翻倍后表count(*)时报
错too many tuples,但是执行带limit 的查询和带where 条件的count(*)时正常,
参数_gbase_result_threshold 默认值较小,将节点层该参数改大后问题解决。


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 287 -

在没有标签的 FOR、FOREACH、LOOP 或 WHILE 循环中,您可使用 CONTINUE 或
EXIT 语句来控制循环的执行。

CONTINUE 导致例程跳过该循环的剩余语句,
并移至 FOR、
LOOP 或 WHILE 语
句的下一迭代。

EXIT 终止该循环,并导致例程继续执行跟在 END FOR、END LOOP 或 END
WHILE 关键字之后的第一个语句。
请记住,当 EXIT 出现在为嵌套循环语句的最内层循环的 FOREACH 语句内时,它必须
后跟 FOREACH 关键字。
当 EXIT 出现在在 FOR、
LOOP 或 WHILE 语句内时,
它可不
紧跟关键字出现,但如果您指定一个关键字,该关键字与从其发出了 EXIT 语句的循环语
句不相匹配,则发出错误。如果 EXIT 出现在循环语句的上下文之外,则也发出错误。
要获取关于 SPL 例程中的循环的更多信息,
包括带标签的循环,
请参阅
《GBase 8s SQL 指
南:语法》。
下图展示在 FOR 循环内的 CONTINUE 和 EXIT 的示例。
图: FOR 循环内的 CONTINUE 和 EXIT 的示例。
FOR i = 1 TO 10
IF i = 5 THEN
CONTINUE FOR;
. . .
ELIF i = 8 THEN
EXIT FOR;
END IF;

END FOR;
提示: 您可使用 CONTINUE 和 EXIT 来提升 SPL 例程的性能,以免执行不必要的循环。