返回首页

gbase数据、南大通用产品文档:GBase8s通过 GBase 8s Connection Manager 连接至高可用性集群服务器的

更新日期:2024年09月11日

属性
JDBC 应用程序可连接至 Connection Manager,就像应用程序可能连接至数据库服务器一
样。然后,将应用程序连接请求重新指向高可用性集群中最恰当的服务器。
可配置多个 Connection Manager,
然后在 Java™ 应用程序服务器使用的 sqlhost 文件中创建
一 Connection Manager 组条目。如果一个 Connection Manager 故障,则可将连接请求指
向正在工作的 Connection Manager。SQLH_FILE 连接属性指导 JDBC 驱动程序搜索组条
目。
要连接至一 GBase 8s Connection Manager,
然后再通过其连接至高可用性集群的服务器,

必须在连接 URL 或 DataSource 中包括下列属性:
GBASEDBTSERVER=CM_or_group_name
SQLH_TYPE=FILE
SQLH_FILE=sqlhosts
USER=user_name
PASSWORD=password
如果 Connection Manager 正在运行,但有一个挂起的连接,则在连接 URL 中包括下列属
性,可防止 Java 应用程序无限地等待。
GBASEDBTCONRETRY=value
GBASEDBTCONTIME=value

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 44 -
LOGINTIMEOUT=value
基于网络环境来设置这些值。
示例 1:通过 GBase 8s Connection Manager 来连接至高可用性集群
在此示例中,您有下列系统设置:

由四个服务器组成的高可用性集群(my_cluster)。

所有集群服务器上的用户名都是 my_user。

所有集群服务器上的口令都是 my_password。

cmhost1.example.com 上的 connection_manager 使用下列配置文件:
NAME connection_manager
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary DBSERVERS=PRI
SLA sla_secondaries DBSERVERS=SDS,HDR,RSS
}

在 host1.example.com 上有一 Java 应用程序服务器,
该 Java 应用程序服务器使用
下列 sqlhost 文件条目:
#dbservername nettype hostname servicename options
sla_primary onsoctcp cmhost1.example.com cm_port_1
sla_secondaries onsoctcp cmhost1.example.com cm_port_1

如果客户机的初始连接尝试失败,则想要它再试两次。

想要 CONNECT 语句等待 10 秒,来建立连接。

如果侦听服务器端口,且在 10 毫秒之内未连接,则想要连接失败。
要 Java 应用程序客户机连接至 my_cluster 的主服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=sla_primary;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10
要 Java 应用程序客户机连接至 my_cluster 的辅助服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=sla_secondaries;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 45 -
示例 2:通过多个 GBase 8s Connection Manager 连接至高可用性集群
在此示例中,您有下列系统设置:

由四个服务器组成的高可用性集群(my_cluster)。

所有集群服务器上的用户名都是 my_user。

所有集群服务器上的口令都是 my_password。

cmhost1.example.com 上的 connection_manager_1 使用下列配置文件,
用于客户机重
新指向和故障转移:
NAME connection_manager_1
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary_1 DBSERVERS=PRI
FOC ORDER=ENABLED \
PRIORITY=1
CMALARMPROGRAM $GBS_HOME/etc/CMALARMPROGRAM.sh
}

cmhost2.example.com 上的 connection_manager_2 使用下列配置文件,
用于客户机重
新指向和故障转移:
NAME connection_manager_2
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary_1 DBSERVERS=PRI
FOC ORDER=ENABLED \
PRIORITY=2
CMALARMPROGRAM $GBS_HOME/etc/CMALARMPROGRAM.sh
}

在 host1.example.com 上有一 Java 应用程序服务器,且 Java 应用程序服务器使用
下列 sqlhost 文件条目:
#dbservername nettype hostname servicename options
g_primary group - - c=1,e=sla_primary_2
sla_primary_1 onsoctcp cmhost1.example.com cm_port_1 g=g_primary
sla_primary_2 onsoctcp cmhost2.example.com cm_port_2 g=g_primary

如果客户机的初始连接尝试失败,则想要它重试两次。

想要 CONNECT 语句等待 10 秒,来建立连接。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 46 -

如果侦听服务器端口,且在 10 毫秒之内未连接,则想要连接失败。
要通过 connection_manager_1 或 connection_manager_2,Java 应用程序客户机连接
至 my_cluster 的主服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=g_primary;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10

系统表PG_SUBSCRIPTION 包含所有现有的逻辑复制订阅。需要有系统管理员权限才
可以访问此系统表。
和大部分系统表不同,pg_subscription 在数据库实例的所有数据库之间共享,即在每个
节点上有只有一份pg_replication_origin,而不是每个数据库一份。
名称
类型
描述
其它
subdbid
oid
订阅所在的数据库的OID。
订阅所在的数据库
的OID。
subname
text
订阅的名称。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
814
名称
类型
描述
其它
subowner
oid
订阅的拥有者。
subenabled
bool
如果为真,订阅被启用并且
应该被复制。
subconninfo
text
到发布端数据库的连接信
息。
subslotname
text
发布端数据库中复制槽的名
称。空表示为NONE。
subpublications
text[]
被订阅的publication 名称的
数组。这些引用的是发布者
服务器上的publication。

将安装光盘中的同步工具的安装包GBase_RTSync_8.6.13.1.tar.gz 拷贝
到服务器上,例如:172.16.3.17,以Redhat 为例,将其放置到/opt/目录下。
需要执行以下命令完成解压步骤:
1、进入安装包所在目录,执行命令:
# cd /opt/
2、解压自动安装包,执行命令:
# tar -zxvf GBase_RTSync_8.6.13.1.tar.gz
3、进入同步工具的安装目录
# cd /opt/RTSyncInstall_8.6.13.1_build1/RTSync

GBase RTSync 同步工具手册
- 20 -
南大通用数据技术股份有限公司