返回首页

gbase数据、南大通用产品文档:GBase8a步骤2 多实例初始安装

更新日期:2024年09月11日

本节安装示例IP 环境如下:

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
98
服务器一:172.16.3.61, 172.16.3.64
服务器二:172.16.3.62, 172.16.3.65

集群初始安装步骤与非多实例普通安装相同,可参考3.2.2 初始安装。
第一步:集群各服务器上创建数据库DBA 用户,如gbase 用户;
# useradd gbase
# passwd gbase
第二步:root 用户执行:获取集群安装包并解压;将解压目录gcinstall 和即将安装
集群的安装目录的属主均设置为DBA 用户gbase ;将解压目录gcinstall 下
SetSysEnv.py 文件拷贝到各个集群服务器并执行(每个服务器只需取任意一个IP 拷
贝和执行一次即可)。
#cd /opt
# tar xjf
GBase8a_MPP_Cluster-License-9.5.3.27-redhat7.3-x86_64.tar.bz2
# chown –R gbase:gbase gcinstall
# chown –R gbase:gbase /opt
# scp /opt/gcinstall/SetSysEnv.py
root@192.168.146.61:/opt
# scp /opt/gcinstall/SetSysEnv.py
root@192.168.146.62:/opt
# 登录192.168.146.61 和192.168.146.62 两台服务器分别执行:
# /opt/SetSysEnv.py
--dbaUser=gbase --installPrefix=/opt
第三步:DBA 用户gbase 执行:修改gcinstall 目录下demo.options 文件,将规划的
所有实例的IP 写入dataHost 参数中,执行gcinstall.py 安装集群。
$ cat demo.options
installPrefix= /opt
coordinateHost = 172.16.3.61,172.16.3.62
coordinateHostNodeID = 61,62
dataHost = 172.16.3.61,172.16.3.64,172.16.3.62,172.16.3.65
#existCoordinateHost =
#existDataHost =
#existGcwareHost=
gcwareHost = 172.16.3.61,172.16.3.62
#gcwareHostNodeID =
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase'

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
99
rootPwd = '222222'
#rootPwdFile = rootPwd.json
#characterSet = utf8
#dbPort = 5258
#sshPort = 22
gbase 用户执行
./gcinstall.py --silent=demo.options --license_file=20210323.lic
第四步:各服务器再次执行一遍环境配置脚本:
# /opt/SetSysEnv.py
--dbaUser=gbase --installPrefix=/opt

获取下一个结果集
当有多个结果集返回时,可以使用游标的nextset 方法跳过结果集后直接
获取下一个结果集的数据。
from GBaseConnector import connect, GBaseError
if __name__ == '__main__':
config = {'host':'172.16.0.131',
'user':'root',
'passwd':'111111',
'port':5258,
'db':'test'}
try:
conn = connect()
conn.connect(**config)
cur = conn.cursor()
cur.execute("DROP TABLE IF EXISTS test")
cur.execute("CREATE TABLE test (COL1 INT, COL2 VARCHAR(20))")
opfmt = "INSERT INTO test(COL1, COL2) VALUES(%s, %s)"
rows = []
for i in xrange(0, 100):
rows.append((i, "row" + str(i)))
cur.executemany(opfmt, rows)

GBase Python 接口开发手册


- 12 -

南大通用数据技术股份有限公司
cur.execute("SELECT * FROM test limit 5;SELECT * FROM TEST LIMIT 10, 5;SELECT
* FROM TEST LIMIT 15, 5", multi_stmt= True)
cur.nextset(2)
print cur.fetchall()

cur.execute("DROP TABLE IF EXISTS test")
except GBaseError.DatabaseError, err:
print err
finally:
conn.close()
注意:获取下一个结果集方法nextset 不能在遍历过程中使用,如下面的
例子。
iters = cur.execute("SELECT * FROM test limit 5;SELECT * FROM TEST LIMIT 10, 5;SELECT *
FROM TEST LIMIT 15, 5", multi_stmt= True)
for ter in iters:
cur.nextset()
print cur.fetchall()

BENCHMARK()函数用于将表达式expr 重复运行count 次。
它可以用于计时GBase UP 处理表达式的时间,结果通常为0。
在gbase 客户端使用它时,它将返回查询执行所需的时间。
示例
示例1:将“hello”重复运行1000000 次。
gbase> SELECT BENCHMARK(1000000,'hello') FROM t;
+----------------------------+

| BENCHMARK(1000000,'hello') |
+----------------------------+
| 0 |
+----------------------------+
1 row in set
报告的时间是客户端操作的时间,不是服务器端的CPU 时间。计算时间是应当执
行BENCHMARK()多次,并注意参考服务器的负载来解释结果。