南大通用GBase 8a数据库dblink推送功能和passthrough配置手顺

1.需求描述:
A集群通过dblink往B集群推送数据,A集群通过passthrough在B集群创建、删除表

2.集群测试信息
A集群 192.168.20.81,192.168.20.82
B集群 192.168.20.83,192.168.20.84

3.安装透明网关
tar xvf GBase8a_MPP_Cluster_Gateway_8.5.1.2_build4.10
chmod -R +x GBase8a_MPP_Cluster_Gateway_8.5.1.2_build4.10

4.配置
1)配置数据源(B集群IP,因为目标是往B集群写数)  
cd GBase8a_MPP_Cluster_Gateway_8.5.1.2_build4.10/conf/dataSource
vi gbase_test.properties
[test1]
dataSource_IP=192.168.20.83
dataSource_port=5258
dataSource_dbname=test
dataSource_dbtype=gcluster
dataSource_user=gbase
dataSource_pwd=gbase20110531
2)配置推送功能相关配置(A集群IP,本配置为执行推送功能所在的管理节点和用户)
cd GBase8a_MPP_Cluster_Gateway_8.5.1.2_build4.10/conf/gcluster
vi gbase8a_gcluster.properties 
[gc81]
gcluster_IP= 192.168.20.81
gcluster_port=5258
gcluster_user=gbase
gcluster_pwd=gbase20110531
gcluster_encode=utf-8
[gc82]
gcluster_IP= 192.168.20.82
gcluster_port=5258
gcluster_user=gbase
gcluster_pwd=gbase20110531
gcluster_encode=utf-8

备注: ip为源集群IP,配置多个分段即可。
  用户是指执行推送命令时登录的用户,如这儿配置的是gbase ,则gccli -ugbase -p  用gccli -uroot会报错 
      ERROR 1105 (HY000): errorCode: 0, errorMsg: Communications link failure 
      The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

3)A集群配置所有管理节点gcluster配置文件
cd /opt/gcluster/config
vi gbase_8a_gcluster.cnf 
在[gbased]标签下添加,ip为透明网关所在IP(本测试透明网关放在了192.168.20.81,此处需要根据现场环境修改)
gbase_dblink_gateway_ip = 192.168.20.81
gbase_dblink_gateway_port = 9898

配置后使用c3推送到所有节点,并重启集群服务
cpush coor: gbase_8a_gcluster.cnf  /opt/gcluster/config
cexec coor: service gcware stop
cexec coor: service gcware start

5.创建dblink
在A集群登录集群,创建dblink
gccli -ugbase -pgbase20110531
gbase>CREATE DATABASE LINK dblink_test CONNECT TO '' IDENTIFIED BY '' USING 'gbase_test';

6.A集群测试数据推送到B集群
gccli -ugbase -pgbase20110531
gbase> passthrough link dblink_test using  'create table t1(a int, b varchar(10))' ;   
gbase> insert into t1@dblink_test select * from a1;
gbase> select * from t1@dblink_test;
gbase> passthrough link dblink_test using  'drop table t1';