南大通用GBase 8a一键安装功能介绍

GBase 8a数据库集群,在安装时默认是通过多个步骤来完成的,安装,设置主备策略,初始化,还包括后期的配置集群参数等。本文介绍集群自带的一键安装功能,可以完成如上的全部步骤。

配置文件

一键安装涉及到2个配置文件,一个是原始的,比如demo.options, 另一个是为了额外配置的文件。

原始配置文件demo.options

这个配置文件里,需要增加一个参数 updateConf=demo.conf,其数值指向额外配置文件,文件名随意。

[root@rh6-1 gcinstall]# cat demo.options
installPrefix= /opt/
coordinateHost = 10.0.2.201
coordinateHostNodeID = 201
dataHost = 10.0.2.201
#existCoordinateHost =
#existDataHost =
loginUser= root
loginUserPwd = '111111'
#loginUserPwdFile = loginUserPwd.json
dbaUser = gbase
dbaGroup = gbase
dbaPwd = 'gbase1234'
rootPwd = '111111'
#rootPwdFile = rootPwd.json
dbRootPwd = ''
#mcastAddr = 226.94.1.39
mcastPort = 5493
updateConf=demo.conf

额外配置文件

在这个配置文件里,包括了初始化配置,参数配置2大部分。先看样例

[root@rh6-1 gcinstall]# cat demo.conf
[init]
distribution=gcadmin distribution gcChangeInfo2.xml p 1 d 0
initnodedatamap=1
[gcluster]
gbase_export_directory=0
thread_stack=1048576
[gbase]
thread_stack=1048576
[corosync]
debug:off
[root@rh6-1 gcinstall]#

其中[init]部分是初始化部分。包括默认的分组策略和初始化nodedatamap两部分

分布策略

这部分就是标准的创建分布策略语句,其中的配置文件,在数据库安装时会自动创建一个gcChangeInfo.xml配置。

如果你希望自己编写配置,那就不要用gcChangeInfo.xml这个文件名,避免被覆盖了。

如果你只有1个节点,那么备份数量参数会被忽略,只允许0

初始化initnodedatamap

这个就是自动执行初始化。

[gcluster]额外参数

自动修改gcluster的配置文件

【gbase]额外参数

自动修改gnode的配置文件

[corosync]

自动修改corosync的配置文件

有关配置文件的位置等,请参考 GBase 8a 集群常用配置文件

使用

和普通的安装操作无任何区别,只是后面的步骤被自动运行了。

./gcinstall.py --silent=demo.options

在安装日志gcinstall.log里可以看到额外的一些初始化的信息:

2020-10-13 16:53:22,390-root-INFO read demo.conf.
2020-10-13 16:53:22,390-root-DEBUG id -nu
2020-10-13 16:53:22,400-root-DEBUG su gbase -c "echo "y" | gcadmin distribution gcChangeInfo.xml p 1 d 0"
2020-10-13 16:53:22,491-root-INFO exec 'gcadmin distribution gcChangeInfo.xml p 1 d 0' successfully.
2020-10-13 16:53:22,491-root-DEBUG su - gbase -c "gccli -uroot -e 'initnodedatamap'"
2020-10-13 16:53:23,884-root-INFO exec initnodedatamap successfully.

在每个节点的安装日志/tmp/InstallTar.log里可以看到一些修改配置的额外的信息

2020-10-13 16:52:45,224-root-INFO Set Cluster conf by demo.conf ...
2020-10-13 16:52:45,225-root-INFO read /opt/_prepare/demo.conf.
2020-10-13 16:52:45,225-root-INFO Set gcluster conf by demo.conf ...
2020-10-13 16:52:45,226-root-INFO Set gcluster conf by demo.conf to end.
2020-10-13 16:52:45,226-root-INFO Set gnode conf by demo.conf ...
2020-10-13 16:52:45,227-root-INFO Set gnode conf by demo.conf to end.
2020-10-13 16:52:45,227-root-INFO Set corosync conf by demo.conf ...
2020-10-13 16:52:45,227-root-INFO Set gcluster conf by demo.conf to end.

效果

安装后,可以直接登数据库,并创建库和表等。 数据库参数也被正确的配置了。

总结

对于可预知的环境,其参数,互备策略等都是可以提前准备的,也包括一些批量安装的场景。通过这种一键安装的方法,可以极大降低安装人员的工作强度,减少了故障发生几率,比如大量机器配置参数遗漏。