返回首页

gbase数据、南大通用产品文档:GBase8a初始安装

更新日期:2024年09月11日

操作步骤
请在执行下面的安装步骤前先获取license 文件。
步骤1 :获取安装包并解压:
1.
复制安装包到文件系统的某个目录下,拷贝命令参考如下:
# cp
/tmp/GBase8a_MPP_Cluster-NoLicense-9.5.3.17-redhat7.3-x86_64.tar.bz2
/opt
2.
进入该目录,在命令行模式下使用tar 命令进行解压。解压命令如下:
#cd /opt
# tar xjf
GBase8a_MPP_Cluster-NoLicense-9.5.3.17-redhat7.3-x86_64.tar.bz2
3.
解压后,将会在解压目录下生成gcinstall 目录:
# ls /opt
gcinstall
步骤2 :创建DBA 用户并配置权限
1.
使用操作系统root 用户在所有集群节点服务器上创建DBA 用户。
安装示例中DBA 用户以gbase 为例,
本手册中不做特殊说明均默认以gbase 为DBA
用户。
# useradd gbase
# passwd gbase

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
65
2.
使用root 用户将gcinstall 目录属主更改为DBA 用户
# chown –R gbase:gbase gcinstall
3.
使用root 用户将安装目录的属主更改为DBA 用户
安装目录是由demo.options 文件中installPrefix 参数指定的软件安装目录,默认是
/opt
# chown –R gbase:gbase /opt
4.
使用root 用户在所有节点上给DBA 用户赋予安装GBase 相关的权限
使用root用户将gcinstall目录下的SetSysEnv.py文件拷贝到集群所有节点服务器上,
并执行该文件。
# scp SetSysEnv.py
root@192.168.146.21:/opt
# /opt/SetSysEnv.py
--dbaUser=gbase --installPrefix=/opt
SetSysEnv.py 语法说明:
# python SetSysEnv.py --dbaUser=* --installPrefix=* [--cgroup]
步骤3:切换到DBA 用户,并修改安装配置文件参数。
进入解压后的gcinstall 目录,
根据实际的集群环境修改安装参数文件demo.options,
具体操作如下:
#su - gbase
$ vi /opt/gcinstall/demo.options
installPrefix= /opt
coordinateHost = 192.168.146.20,192.168.146.21,192.168.146.22
参数名称


--installPrefix=INSTALLPREFIX
用户可配安装目录,必须为demo.options 中
installPrefix。集群日志按归档功能使用该参数。
--dbaUser=DBAUSER
必须为demo.options 中的dbaUser。
--cgroup
使用资源管理功能时,主要用于修改资源管理配
置文件。在使用资源管理前必须执行。
注意
安装之前,需要在gcluster 节点和gnode 节点上使用root 用户执行安装包中提供的一键
部署脚本SetSysEnv.py。如果GCware 节点独立部署在单独的服务器上,GCware 节
点不需要执行SetSysEnv.py 文件。
1.
将该脚本拷贝到要安装集群的各个节点,每个节点都需要使用root 执行;
2.
集群各个节点在安装之前,必须存在集群的安装用户,且拥有安装目录的
读写权限

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
66
coordinateHostNodeID = 20,21,22
dataHost =

GBase 8s支持的时间类型数据有时间类型,日期类型,时间戳类型。

在C语言中, 使用GCIDateTime对象表示时, 使用子类型区分。


C
(64位系统
)


SQLT类型

GCIDateTime时间
GCI_DTYPE_TIME
datetime hour to second
SQLT_TIME
GCIDateTime日期
GCI_DTYPE_DATE
Datetime year to day
SQLT_DATE

GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 10
GCIDateTime时间戳
GCI_DTYPE_TIMES
TAMP
除去以上类型的其他时
间类型, 例如datetime
year to fraction(5) ,
datetime hour to
fraction(4).
SQLT_TIMESTA
MP

GCI接口在使用时间类型做数据库访问操作时,有如下规则:
GCIDateTime 时间, 包含小时(范围 0~23) ,分钟(范围 0~59) ,秒(范围 0~59),
不包含纳秒。
GCIDateTime 日期,包含年(范围-4712~9999),月(范围 0~11),日(范围 1~31)。
GCIDateTime 时间戳,包含年(范围-4712~9999) ,月(范围 0~11), 日(范围
1~31), 小时(范围 0~23),分钟(范围 0~59), 秒(范围 0~59) ,纳秒(
范 围 0~999999999)
关于纳秒, GBase8s中datetime的fraction类型的位数范围是1~5,最大只保留5位有效数字
, 所以纳秒的低4位会被舍弃。例如,对于datetime year to fraction(5)的数据, 输入值为
9999, 存入数据库的值为0。
Datetime对象类型使用举例:

/* 分配用于存储数据的变量*/
GCIDateTime *tstmpltz = (GCIDateTime *)NULL;
/* Col1 是时间戳 */
GCIText *sqlstmt = (GCIText *)"SELECT col1 FROM foo";
/* 分配Datetime对象句柄 */
status = GCIDescriptorAlloc(envhp,(void **)&tstmpltz, GCI_DTYPE_TIMESTAMP,
0, (void **)0);
....
status = GCIStmtPrepare (stmthp, errhp, sqlstmt, (ub4)strlen ((char *)sqlstmt),
(ub4)GCI_NTV_SYNTAX, (ub4)GCI_DEFAULT);
/* 绑定对象句柄,注意是指针的地址*/
status = GCIDefineByPos(stmthp, &defnp, errhp, 1, &tstmpltz, sizeof(tstmpltz),
SQLT_TIMESTAMP_LTZ, 0, 0, 0, GCI_DEFAULT);
/*执行和获取*/
GCIStmtExecute(svchp, stmthp, errhp, 1, 0,(GCISnapshot *) NULL,
(GCISnapshot *)NULL, GCI_DEFAULT)

[root@CM2 ~]# cd /opt/GBASE/gbase/etc/
[root@CM2 etc]# su gbasedbt
[gbasedbt@CM2 etc]$ vim cm2.cfg
内容如下:
NAME


CM2
LOGFILE


${GBASEDBTDIR}/tmp/cm2.log
CM_TIMEOUT

40
SECONDARY_EVENT_TIMEOUT 30
SQLHOSTS


LOCAL
EVENT_TIMEOUT

60
LOG



1
DEBUG


0
CLUSTER CLUSTER2
{

GBASEDBTSERVER
db_group

SLA
wcm2
DBSERVERS=PRI

WORKERS=16

SLA
rcm2

DBSERVERS=HDR,RSS
WORKERS=16

FOC
ORDER=ENABLED
TIMEOUT=15
RETRY=3
PRIORITY=2
}

多CM节点时PRIORITY依次配置为1、2、3等,数字越大优先级越低。