GaussDB(DWS)《DWS之GaussDB kernel jdbc远程执行sql实践》

网友投稿 593 2022-05-30

GaussDB kernel 813 JDBC远程执行sql实践

1      概述

本文档,使用JDBC客户端和集群分离部署的方式,在集群外部通过JDBC连接集群执行sql。如集群环境为主备从,则最少需要3+1台机器,且集群CN节点机器和集群外的机器网络互通。

整体要做三件事,涉及三个文件:

将JDBC驱动jar和JDBC工具executetool.class以及JDBC工具配置文件jdbcconfig.properties放在JDBC客户端服务器的自定义目录下

在JDBC客户端服务器上,根据放置jar包的实际路径,配置相关环境变量

修改集群CN的远程连接安全认证信息

根据远端集群的实际信息,配置JDBC工具配置文件

安装部署前置条件:JDBC

客户端服务器环境上需要有JAVA

,若没有,请先自行安装

2      JDBC客户端服务器环境搭建

备注:本章节操作均使用root用户在集群外的JDBC客户端服务器上完成。

上传安装包,进入解压后的安装包目录,如

cd /opt/software/gaussdb

解压安装包中*-Jdbc.tar.gz,如 x86 suse包,

tar -zxf GaussDB-8.1.3-SUSE11-x86_64bit-Jdbc.tar.gz

创建自定义目录

Mkdir -p /data1/jdbc_all/jdbc_lib

将解步骤b压出的jar驱动copy到自定义目录/data1/jdbc_all/jdbc_lib下,如

cd jdbc

cp gsjdbc4.jar /data1/jdbc_all/jdbc_lib

2,添加环境变量

export CLASSPATH=/data1/jdbc_all/jdbc_lib/gsjdbc4.jar:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH

上传jdbc工具和配置文件到自定义目录下

上传executetool.class到/data1/jdbc_all

上传jdbcconfig.properties到/data1/jdbc_all/jdbc_lib

注.工具请从内部途径获取,感谢理解;

http://3ms.huawei.com/km/groups/2938809/blogs/details/11795337

3      集群认证连接设置

为了集群外的JDBC客户端可以直连集群,设置集群GUC参数,添加CN连接认证信息

gs_guc reload -Z coordinator -D /home/data/coordinator -h "host    all    all    {JDBC客户端IP}/32 sha256"

命令示例如下,

gs_guc reload -Z coordinator -D /home/data/coordinator -h "host    all    all    10.185.179.101/32 sha256"

注:为了测试方便,此处使用sha256,即无认证连接方式

4      JDBC测试工具使用

根据远端集群信息,修改properties文件,内容如下,

password={数据库用户密码}

use_boolean=false

hostname={远端集群CN节点IP}

port={CN端口号}

user={数据库用户名}

dbname={数据库名称}

配置示例如下图

注:数据库用户不能为初始化用户,如perfadm,需要是自建用户。

使用JDBC工具在远端集群执行sql能力验证

java executetool "drop table if exists test_jdbc;" "create table test_jdbc(id int);" "insert into test_jdbc values(generate_series(1,99));" "select count(*) from test_jdbc;"

执行成功结果如下图,

注,一次执行多个sql语句时,使用成对的双引号括起来,空格隔开,如下

GaussDB(DWS)《DWS之GaussDB kernel jdbc远程执行sql实践》

java executetool "sql1;" "sql2;" "sql3;"

EI企业智能 Gauss AP JDBC SQL 数据仓库服务 GaussDB(DWS)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口测试和性能测试的区别
下一篇:一日一技:如何正确在自己项目里面集成别人的代码?
相关文章