GBase 8a
适配迁移
文章

GBase 8a DBLINK同构操作手顺

发表于2024-06-21 21:23:0336次浏览0个评论

目的服务异构库或远程库数据(jdbc接口,解压包包括jre虚拟机),日志在logs/gbaseGateway.log
1、全在目标端服务器上安装
2、解压后配置文件:
conf/conf.properties  --Gateway工具本身配置参数
conf/dataSource/*.properties  源端配置参数
conf/gcluster/*.properties 目标端配置参数
3、配置源端、目标端
1)源端为gbase mpp IP:192.168.1.7
cat dataSource/gbase07_link.properties
[ds1]
dataSource_IP=192.168.1.7
dataSource_port=5258
dataSource_dbname=tt
dataSource_dbtype=gcluster
dataSource_user=gbase
dataSource_pwd=gbase20110531
[ds2]
dataSource_IP=192.168.1.7
dataSource_port=5258
dataSource_dbname=ssbm
dataSource_dbtype=gcluster
dataSource_user=gbase
dataSource_pwd=gbase20110531
   
2)目标端为gbase mpp IP:192.168.1.5
cat gcluster/gbase05_gcluster.properties
[gc1]
gcluster_IP=192.168.1.5
gcluster_port=5258
gcluster_user=gbase
gcluster_pwd=gbase20110531
gcluster_encode=utf-8

4、启动gateway
sh gt.sh &
可以通过jps查看这个线程! netstat -anp|grep 9898 但ps看不到
5、配置目标数据库 GBase8a MPP Cluster参数
gbase_8a_gcluster.cnf 中必须配置的参数:不能set global
gbase_dblink_gateway_ip =192.168.1.5 -- 部署服务器ip
gbase_dblink_gateway_port = 9898 --部署服务器gt端口
gcluster_dblink_direct_data_exchange :
默认值为 1
值为 1 表示:数据从数据源集群的计算节点直接发送给目标集群。
值为 0 表示:数据从数据源集qun fa送给网关,然后由网关转发给目标集 群。
注:仅当数据源集群和目标集群的节点间在网络上不可直接连接时,调整 此参数为 0。
6、目标端连接源端
CREATE DATABASE LINK dblink_07_ssbm connect to 'gbase'identified by 'gbase20110531' using  'gbase07_ssbm_link';
-- gbase07_ssbm_link对应 conf/dataSource/gbase07_ssbm_link.properties文件
7、问题
1)datasource源端1个配置文件对应1个库,不能对应多个配置节点,如[ds2],可以再建1个
ds2的配置文件,在CREATE DATABASE LINK dblink_new时使用这个新名字;
2)dblink表与其他表join需要包成子查询:
select * from (select * from t20240518@dblink_07_ssbm) a,(select * from t1@dblink_name) b where a.id=b.id ;
select * from (select * from t20240518@dblink_07_ssbm) a,t1 b where a.id=b.id ;
gbase> select * from t20240518@dblink_07_ssbm a,t1@dblink_name b where a.id=b.id ;
ERROR 1149 (42000): (GBA-02SC-1001) Only one DBLink data source permited in a subquery(query)
--注意视图:
create view v_dblink_join as select a.id,b.name from (select * from t20240518@dblink_07_ssbm) a,(select * from t1@dblink_name) b where a.id=b.id ;
会产生ddlevent的原因是集群所有的coor都要配置5)
8、支持网关 HA 冗余部署 
支持网关高可用冗余部署,支持部署两套相同配置的网关,一主,一备,
主网关连接不上,自动连接备用网关。
gcluster dblink 功能支持 dblink 网关高可用冗余部署新增以下参数:
gbase_dblink_standby_gateway_ip:备用 dblink 网关服务所在主机的ip 地址
gbase_dblink_standby_gateway_port: 备用 dblink 网关服务监听的端口
9、直通模式 SQL 语句 
请求网关直接转发 sql 语句到 dblink 对象对应的远端数据库执行。
基本语法:
passthrough link DBLINK_NAME using ‘SQL_STATEMENT’;
DBLINK_NAME 为 dbink 对象的名称
SQL_STATEMENT 为 SQL 语句,即远端数据库执行的 SQL 语句。
passthrough link testlink using ‘create table t1(a int, b int)’;
passthrough link testlink using ‘insert into t1 values(1,2)’;
passthrough link testlink using ‘update t1 set a=11 where a=1’;
passthrough link testlink using ‘delete from t1 where a=11’;
passthrough link testlink using ‘truncate table t1’;
passthourgh link testlink using ‘drop table t1’;
passthourgh link testlink using ‘select * from t2’ – 报错: SQL command is not supported: ‘select * from t2’
 

评论

登录后才可以发表评论