跳到主要内容

连接管理器

连接管理器是一种守护程序实用程序,它可以在高可用性集群中监视所有节点的工作负载和状态。此实用程序可将客户机应用程序连接请求引导到集群中的相应服务器,并可在主节点发生故障时自动执行服务器故障转移。

节点准备

在1个主节点和2个辅节点的基础上,本次增加2个连接管理器节点

  • CM1:192.168.5.201
  • CM2:192.168.5.202

组和用户

参考组和用户部分的介绍。

配置节点互信

在Linux服务器之间建立信任关系,是很多线上服务系统的基础性工作,这样能便于程序在多台服务器之间自动传输数据。服务器级节点互信配置请参考配置节点互信任部分的介绍。

安装配置客户机

请安装光盘中的clientsdk,详细步骤请参考《GBase 8s 客户机产品安装指南》,这里只介绍安装后的配置,并对高可用相关细节进行说明。

配置profile.cm1环境变量文件

[root@CM1 ~]# cd /home/gbasedbt/
[root@CM1 gbasedbt]# su gbasedbt
[gbasedbt@CM1 ~]$ vim profile.cm1

内容如下:

export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.cm1
export PATH=/opt/GBASE/gbase/bin:$PATH
export DB_LOCALE=zh_CN.GB18030-2000
export CLIENT_LOCALE=zh_CN.GB18030-2000
export GL_USEGLU=1

为了gbasedbt用户在登录后自动应用这些环境变量,可以修改.bash_profile文件,在文件后添加如下内容:

source /home/gbasedbt/profile.cm1

配置sqlhosts.cm1文件

[root@CM1 ~]# cd /opt/GBASE/gbase/etc/
[root@CM1 etc]# su gbasedbt
[gbasedbt@CM1 etc]$ vim sqlhosts.cm1

内容如下:

db_group		group		-			-	i=1
gbaseserver onsoctcp 192.168.5.100 9088 g=db_group
gbaseserver1 onsoctcp 192.168.5.101 9088 g=db_group
gbaseserver2 onsoctcp 192.168.5.102 9088 g=db_group

cm_update group - - i=3,c=0
wcm1 onsoctcp 192.168.5.201 9089 g=cm_update
wcm2 onsoctcp 192.168.5.202 9089 g=cm_update

cm_read group - - i=4,c=0
rcm1 onsoctcp 192.168.5.201 9090 g=cm_read
rcm2 onsoctcp 192.168.5.202 9090 g=cm_read

配置cm1.cfg参数文件

[root@CM1 ~]# cd /opt/GBASE/gbase/etc/
[root@CM1 etc]# su gbasedbt
[gbasedbt@CM1 etc]$ vim cm1.cfg

内容如下:

NAME				CM1
LOGFILE ${GBASEDBTDIR}/tmp/cm1.log
CM_TIMEOUT 40
SECONDARY_EVENT_TIMEOUT 30
SQLHOSTS LOCAL
EVENT_TIMEOUT 60
LOG 1
DEBUG 0
CLUSTER CLUSTER1
{
GBASEDBTSERVER db_group
SLA wcm1 DBSERVERS=PRI WORKERS=16
SLA rcm1 DBSERVERS=PRI,SDS WORKERS=16
FOC ORDER=ENABLED TIMEOUT=15 RETRY=3 PRIORITY=1
}

其他节点客户机配置

通过上述步骤完成了CM1:192.168.5.201节点的安装配置,本次我们的集群由2个节点组成,因此重复上述步骤准备CM2:192.168.5.202节点,这个节点与第1个节点设置上有如下不同:

配置profile.cm2环境变量文件

[root@CM2 ~]# cd /home/gbasedbt/
[root@CM2 gbasedbt]# su gbasedbt
[gbasedbt@CM2 ~]$ vim profile.cm2

内容如下:

export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.cm2
export PATH=/opt/GBASE/gbase/bin:$PATH
export DB_LOCALE=zh_CN.GB18030-2000
export CLIENT_LOCALE=zh_CN.GB18030-2000
export GL_USEGLU=1

为了gbasedbt用户在登录后自动应用这些环境变量,可以修改.bash_profile文件,在文件后添加如下内容:

source /home/gbasedbt/profile.cm2

配置sqlhosts.cm2文件

内容可同sqlhosts.cm1

配置cm2.cfg参数文件

[root@CM2 ~]# cd /opt/GBASE/gbase/etc/
[root@CM2 etc]# su gbasedbt
[gbasedbt@CM2 etc]$ vim cm2.cfg

内容如下:

NAME				CM2
LOGFILE ${GBASEDBTDIR}/tmp/cm2.log
CM_TIMEOUT 40
SECONDARY_EVENT_TIMEOUT 30
SQLHOSTS LOCAL
EVENT_TIMEOUT 60
LOG 1
DEBUG 0
CLUSTER CLUSTER2
{
GBASEDBTSERVER db_group
SLA wcm2 DBSERVERS=PRI WORKERS=16
SLA rcm2 DBSERVERS=PRI,SDS WORKERS=16
FOC ORDER=ENABLED TIMEOUT=15 RETRY=3 PRIORITY=2
}

多CM节点时PRIORITY依次配置为1、2、3等,数字越大优先级越低。

启动连接管理器

依次启动CM1:192.168.5.201连接管理器和CM2: 192.168.5.202连接管理器,启动方式参考如下:

[gbasedbt@CM1 ~]$ oncmsm -c /opt/GBASE/gbase/etc/cm1.cfg

参看日志文件,可看到详细启动信息。

验证

如果PRIMARY:192.168.5.100节点宕机后,可以看到CM会将PRI切换到SSC1:192.168.5.101。应用对CM的访问不受影响。