配置说明
XML文件模板位于软件解压目录下的script/gspylib/etc/conf/cluster_config_template.xml。
在XML文件中,配置信息可以被分为如下模块:
- CLUSTER信息:配置数据库名称及各项目录。
- DEVICE LIST信息,此模块包含了CLUSTER信息中提及的各节点,各节点的信息通过
标签来区分。 - 数据库集群主节点,应该包含配置host基本信息、配置数据库主节点信息、配置HAS_SERVER(主、非主)信息。
- 数据库集群备节点,应该包含配置host基本信息、配置HAS_SERVER(主、非主)信息。
说明
HAS_SERVER的主/非主状态与数据库节点的主备状态没有直接关联,用户可按照实际情况在各节点配置HAS_SERVER信息,保证在DEVICE LIST中,每个DEVICE上都配置了一个HAS_SERVER信息即可。
配置数据库名称及各项目录
说明
以下配置内容仅为示例,用户可根据每行信息的注释说明自行替换。
配置项
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- 整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="Cluster_template" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="VexDB1,VexDB2,VexDB3" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/VexDB/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/VexDB" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/VexDB/tmp" />
<!--数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/VexDB/install/om" />
<!--数据库 core 文件目录-->
<PARAM name="corePath" value="/opt/VexDB/corefile"/>
<!-- 节点 IP,与数据库节点名称列表一一对应 -->
<PARAM name="backIp1s" value="172.16.105.54,172.16.105.58,172.16.105.60"/>
</CLUSTER>
注意事项
- /opt/VexDB/install/om路径存放互信等工具,为了避免权限问题,不要把实例数据目录放在此目录下。
- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。
- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如当设置gaussdbAppPath为/opt/VexDB/install/app,gaussdbLogPath为/opt/VexDB/install/app/omm。若gaussdbAppPath目录被删除时,则会级联删除gaussdbLogPath目录,从而引起其它问题。
- 若需要预安装脚本自动创建安装用户时,各配置的目录需保证不与系统创建的默认用户目录耦合关联。
- 配置路径和实例路径时,路径中不能包含“| , ; , & , $ , < , > , ` , \ , ‘ , “ , { , } , ( , ) , , , ~ , * , ? ”特殊字符。
- 配置数据库节点名称时,请通过hostname命令获取各数据库节点的主机名称。
参数说明
整体信息 | clusterName | VexDB名称。 |
nodeNames | VexDB中主机名称。 | |
backIp1s | 主机在后端存储网络中的IP地址(内网IP)。所有VexDB主机使用后端存储网络通讯。 | |
gaussdbAppPath | VexDB程序安装目录。此目录应满足如下要求: | |
gaussdbLogPath | VexDB运行日志和操作日志存储目录。此目录应满足如下要求: | |
tmpMppdbPath | 数据库临时文件存放目录。 若不配置tmpMppdbPath,默认存放在/opt/VexDB/wisequery/安装用户名_mppdb目录下,其中"opt/VexDB/wisequery"是默认指定的数据库系统工具目录。 | |
gaussdbToolPath | VexDB系统工具目录,主要用于存放互信工具等。此目录应满足如下要求: | |
corePath | VexDB core文件的指定目录。 |
配置host基本信息
说明
以下配置内容仅为示例,用户可根据每行信息的注释说明自行替换。
配置项
每台host服务器都必须有如下配置信息,示例以node1为例:
以下内容为示例,可自行替换。每行信息均有注释进行说明。
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="VexDB1">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="VexDB1"/>
<!-- 节点1所在的 AZ 及 AZ 优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的 IP,如果服务器只有一个网卡可用,将 backIP1和 sshIP1配置成同一个 IP -->
<PARAM name="backIp1" value="172.16.105.54"/>
<PARAM name="sshIp1" value="172.16.105.54"/>
<!-- node1是否为级联备, on 表示该实例为级联备,另外级联备机在相同的 AZ 里需要配有备机 -->
<PARAM name="cascadeRole" value="on"/>
参数说明
参数 | 说明 |
---|---|
name | 主机名称。 |
azName | 指定azName(Available Zone Name),字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。 |
azPriority | 指定azPriority的优先级。 |
backIp1 | 主机在后端存储网络中的IP地址(内网IP)。所有VexDB主机使用后端存储网络通讯。 |
sshIp1 | 设置SSH可信通道IP地址(外网IP)。 若无外网,则可以不设置该选项或者同backIp1设置相同IP。 |
cascadeRole | value为on表示该实例为级联备库。 |
说明
配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。
示例:xml配置文件中同时配置backIp1和backIp2参数: 在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。
<PARAM name="backIp1" value="172.16.105.54"/> <PARAM name="backIp2" value="172.16.105.58"/>
配置数据库主节点信息
说明
以下配置内容仅为示例,用户可根据每行信息的注释说明自行替换。
配置项
数据库主节点配置以下信息,内容为示例,可自行替换。每行信息均有注释进行说明。
<!--DBnode-->
<PARAM name="dataNum" value="1"/>
<!--DBnode 端口号-->
<PARAM name="dataPortBase" value="15400"/>
<!--DBnode 侦听 IP-->
<PARAM name="dataListenIp1" value="172.16.105.54,172.16.105.58,172.16.105.60"/>
<!--DBnode 主节点上数据目录,及备机数据目录-->
<PARAM name="dataNode1" value="/opt/VexDB/install/data/dn,VexDB2,/opt/VexDB/install/data/dn,VexDB3,/opt/VexDB/install/data/dn"/>
<!--数据库主节点上的 xlog 目录,及备机 xlog 目录-->
<PARAM name="dataNodeXlogPath1" value="/home/omm/gauss_xlog,/home/omm/gauss_xlog "/>
<!--DBnode 节点上设定同步模式的节点数-->
<PARAM name="dataNode1_syncNum" value="0"/>
<!--数据库节点上自定义设定同步模式的节点方式、数量及顺序,hostname 根据主机名自行替换-->
<PARAM name="syncNode_hostname" value="ANY 1(node1_hostname,node2_hostname)"/>
<!--floatIp1、floatIp2为各节点或各 az 对应的 VIP 地址,用户需要保证 VIP 地址为可用 VIP,即需要可对外提供服务的 VIP(跟现有网卡处于同一网段中)dataListenIp1为各节点监听 ip,该选项可以不配置,若不配置,则默认使用 backIp1s 的值,floatIpMap1表示 floatIp 与 dataListenIp 的对应关系,其顺序与 dataListenIp1的顺序要相互对应-->
<PARAM name="floatIpMap1" value="floatIp1,floatIp2,floatIp3"/>
参数说明
参数 | 说明 |
---|---|
dataNum | 当前主机上需要部署的数据库节点个数。 |
dataPortBase | 数据库节点的基础端口号。 |
dataListenIp1 | 侦听的IP地址。未设置时,使用对应主机上的backIp1生成。 第一个IP是主节点所在主机IP,第二个IP是备节点所在主机IP。 |
dataNode1 | 用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。 |
dataNodeXlogPath1 | 可选参数,用于指定当前数据库中xlog存储路径。此目录为数据库xlog日志存储目录,只支持绝对路径。 如不指定,则默认存放在数据目录的pg_xlog目录下。 |
dataNode1_syncNum | 可选参数,与下面syncNode_hostname参数二选一。如需配置,仅在主机节点下配置。用于指定当前数据库中同步模式的节点数目。取值范围为0~数据库备机节点数。 |
syncNode_hostname | 可选参数,与前面的dataNode1_syncNum参数二选一。用于一主四备集群时自定义利用FIRST、ANY设置同步备机,即指定当前数据库中同步模式的备机节点方式、数量及顺序。 如需配置,需要在所有的节点下同时配置。 syncNode_hostname中的hostname根据主机名自行替换。参数中指定同步备主机名存在且正确,同步备数量不能超过备选同步备主机个数。参数中FIRST与ANY不可以同时存在,ANY支持组合配置,FIRST不支持组合配置。 |
floatIpMap1 | 可选参数,表示floatIp与dataListenIp的对应关系,其顺序与dataListenIp1的顺序要相互对应。 |
配置HAS_SERVER(主、非主)信息
说明
以下配置内容仅为示例,用户可根据每行信息的注释说明自行替换。
配置项
配置HAS_SERVER主信息
<!--HAS 节点部署信息-->
<PARAM name="cmsNum" value="1"/>
<PARAM name="cmServerPortBase" value="15000"/>
<PARAM name="cmServerListenIp1" value="172.16.105.54,172.16.105.58,172.16.105.60"/>
<PARAM name="cmServerHaIp1" value="172.16.105.54,172.16.105.58,172.16.105.60"/>
<!--cmServerlevel 目前只支持1-->
<PARAM name="cmServerlevel" value="1"/>
<!--cms 主及所有 hostname-->
<PARAM name="cmServerRelation" value="VexDB1,VexDB2,VexDB3"/>
<PARAM name="cmDir" value="/opt/VexDB/data/cmserver"/>
配置HAS_SERVER 非主信息
<!-- cm -->
<PARAM name="cmServerPortStandby" value="15000"/>
<PARAM name="cmDir" value="/opt/VexDB/data/cmserver"/>
参数说明
参数 | 说明 |
---|---|
cmServerPortBase | 主has Server端口。 |
cmServerPortStandby | 备has Server端口号。 |
cmServerListenIp1 | has Server用于侦听has Agent连接请求或DBA管理请求的IP地址。 |
cmServerHaIp1 | 主、备has Server间通信的IP地址。Value中左边为主has Server的主机IP地址,右边为备has Server的主机IP地址。 未设置时,默认根据主、备has Server所在主机的backIp1生成。 |
cmDir | has数据文件路径。保存has Server和has Agent用到的数据文件,参数文件等。 |