南大通用GBase 8a 多实例cluster_common.cnf配置文件介绍

GBase 8a 数据库集群在V9.5.3开始支持一个主机内部署多个实例,同时支持各个服务分别成集群,可以部署在不同的IP上,于是各个服务需要知道其它的服务IP在哪里,所以引入了cluster_common.cnf配置文件。

参考

GBase 8a 9.5.3多实例版本的服务状态注册和检测机制

其它和多实例有关的内容,请参考

https://www.gbase8.cn/tag/%e5%a4%9a%e5%ae%9e%e4%be%8b

配置文件位置

调度服务gcluster

安装目录下/安装IPXX.XX.XX.XX/gcluster/config/cluster_common.cnf

每个主机上,只有一个。

样例

[gbase@gbase_rh7_003 gbase]$ cat 10.0.2.103/gcluster/config/cluster_common.cnf
{
        "cluster": {
                "uuid":"ee7c302e-9ebe-11eb-a48f-0800278ed928",
                "nodeIPtype":"0",
                "localnodeid":"1728184330",
                "nodes": [
                {
                        "memberaddr":"10.0.2.103"
                }
                ]
        },

        "datanode": {
                "nodes": [
                {
                        "memberaddr":"10.0.2.104"
                },
                {
                        "memberaddr":"10.0.2.105"
                },
                {
                        "memberaddr":"10.0.2.106"
                }
                ]
        },

        "gcware": {
                "nodes": [
                {
                        "memberaddr":"10.0.2.103"
                }
                ],
                "client_port":"5919"
        }
}

数据计算服务gbase

安装目录下/安装IPXX.XX.XX.XX/gnode/config/cluster_common.cnf

每个主机的每个实例的IP下,都有1个。

样例

[gbase@gbase_rh7_003 gbase]$ cat 10.0.2.104/gnode/config/cluster_common.cnf
{
        "cluster": {
                "uuid":"ee7c302e-9ebe-11eb-a48f-0800278ed928",
                "nodeIPtype":"0",
                "nodes": [
                {
                        "memberaddr":"10.0.2.103"
                }
                ]
        },

        "datanode": {
                "localdatanode":"10.0.2.104",
                "sessiontimeout":20,
                "nodes": [
                {
                        "memberaddr":"10.0.2.104"
                },
                {
                        "memberaddr":"10.0.2.105"
                },
                {
                        "memberaddr":"10.0.2.106"
                }
                ]
        },

        "gcware": {
                "nodes": [
                {
                        "memberaddr":"10.0.2.103"
                }
                ],
                "client_port":"5919"
        }
}

配置文件差异diff

数据计算之间

只有localdatanode不同,各自对应本实例的IP地址。

[gbase@gbase_rh7_003 gbase]$ diff  10.0.2.104/gnode/config/cluster_common.cnf 10.0.2.106/gnode/config/cluster_common.cnf
13c13
<               "localdatanode":"10.0.2.104",
---
>               "localdatanode":"10.0.2.106",
[gbase@gbase_rh7_003 gbase]$

调度和数据计算之间

调度节点的标识符是localnodeid,数据计算的标识符是localdatanode;当然其位置不同,调度的localnodeid是放在cluster段部分,locladatanode是放在datanode段部分。 详情看后面说明部分。

数据计算节点,在配置部分多了一个sessiontimeout的参数项。

[gbase@gbase_rh7_003 gbase]$ diff 10.0.2.103/gcluster/config/cluster_common.cnf  10.0.2.104/gnode/config/cluster_common.cnf
5d4
<               "localnodeid":"1728184330",
13a13,14
>               "localdatanode":"10.0.2.104",
>               "sessiontimeout":20,
[gbase@gbase_rh7_003 gbase]$

说明

gcluster段

uuid

唯一标识符,比如ee7c302e-9ebe-11eb-a48f-0800278ed928。

nodeIPtype

IP类型,默认是0(还没测试IPV6)。

localnodeid

本地nodeid,在ipv4是根据ip地址计算的。 ipv6是用户指定的。

该部分只出现在当前服务是调度服务gcluster才出现。数据计算服务没有这个属性。

nodes

包含1到多个memberaddr的调度集群的IP地址。

datanode段

localdatanode

本地datenode的IP地址。

只有当前服务是数据计算服务时才执行,调度服务没有这个。

sessiontimeout

数据服务开通状态注册机制后,心跳数据超时时间。

nodes

包含1到多个memberaddr的数据计算集群的IP地址。

gcware段

nodes

包含1到多个memberaddr的管理集群(gcware)的IP地址。

client_port

gcware服务客户端连接端口。默认时5919。