返回首页

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

更新日期:2024年09月11日

多实例numa 绑定后如何直接使用services 命令
启动服务
问题现象
手册上多实例绑定后,需要到指定路径IP/gnode/server/bin 下执行:
./gcluster_services all start
来启动服务。
是否可以使用常规的gcluster_services all start 来启动多实例服务?
解决方法:
启动服务命令:gcluster_services all start
该命令随机指向服务器的$GCLUSTER_HOME/bin/gcluster_services 或者任意实例
下的$GBASE_HOME/bin/gcluster_services,执行时会将当前服务器上的所有实例
的所有服务都启动。

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
170
多实例numa 绑定是在服务启动文件gcluster_services 中进行绑定,所以我们通
常是在哪个gcluster_services 文件中进行了绑定,
就用哪个文件启动多实例服务。
如果仍然希望直接执行gcluster_services all start 命令,指向任意文件都能以
numa 绑定方式启动服务,
那么需要将服务器中所有gcluster_services 文件,
包括
$GCLUSTER_HOME/bin/gcluster_services







IP/gnode/server/bin/gcluster_services 文件中都加上numa 绑定代码。
注意:
集群中所有管理节点的gcluster/server/bin 下gcluster_services 文件默
认要求内容一致,否则启动服务会报错。而numa 绑定在每个服务器中绑定的IP 不
一样,所以不同服务器gcluster_services 中numa 绑定代码内容不一样。管理节
点的gcluster/server/bin 下gcluster_services 文件中添加numa 绑定需要在
gcluster/config 下gbase_8a_gcluster.cnf 文件中添加skip_file_check=1

%

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
118
Session Memory statistics:
1 dn_6005_6006-postgres-dbazt:
Buffer Reads
:
8989
Shared Buffer Hit ratio
:

插入二进制数据
使用游标的execute 可以插入二进制数据内容。请参考下面的样例。

GBase Python 接口开发手册


- 16 -

南大通用数据技术股份有限公司
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)
fobj = open("c:\\1.gif",'rb')
fbytes = fobj.read()
fobj.close()
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS test(f blob)")
cur.execute("INSERT INTO test VALUES(_binary%s)",(fbytes,))
cur.execute("DROP TABLE IF EXISTS test")
cur.close()
except (GBaseError.DatabaseError, IOError), err:
print err
finally:
conn.close()