配置集群模式脚本文件
本小节包括如下内容:
配置步骤
步骤1 以root用户登录操作系统。
步骤2 创建目录(/soft),上传安装包后解压。
![]()
上传获取到的安装包(本安装以vastbase_cluster_centos_x86_64_2023052915.tar.gz为例,实际安装以获取安装包名称为准),路径可自定义,本安装步骤以/soft为例。
mkdir -p /soft
cd /soft
tar -xvf vastbase_cluster_centos_x86_64_2023******.tar.gz
步骤3 (可选)当开启密码加密选项时,需要先切换进入解压目录/hainstaller/installer/,使用加密程序将字段明文加密。
cd /soft/hainstaller/installer
java -jar ha_installer_encrypt_password_1_6.jar 密码明文
![]()
当开启密码加密选项(”passwordEncrypted”: “true”)时,脚本文件中需要加密的字段有:password、instancePassword、systemAdminPassword、securityAdminPassword和auditAdminPassword字段。
执行上述步骤将明文加密后,将获取的密文填入脚本文件的对应字段位置。下图为加密123456为例:
![]()
步骤4 拷贝集群模式的模板文件:
cp /soft/hainstaller/installer/cluster.json /soft/hainstaller/installer/cluster_new.json
步骤5 参考如下配置项说明,修改脚本文件内各配置项。在拷贝的模板文件的基础上,用户可对照如下样例,将结合实际环境对应修改脚本文件的必填项。
vi /soft/hainstaller/installer/cluster_new.json
配置文件说明
集群模式参数配置文件为安装包解压路径/hainstaller/installer下,以本文解压路径为例,查看集群模式模板文件为:
cat /soft/hainstaller/installer/cluster.json
集群模式参数配置文件cluster.json各配置项节点的说明请参考下表:
节点 | 父节点 | 是否必填 | 类型 | 默认值 | 说明 |
---|---|---|---|---|---|
vbType | 是 | String | 集群模式填入cluster | ||
passwordEncrypted | 是 | boolean | false | 设置配置文件中的密码加密 | |
servers | 是 | List | 服务器节点列表 | ||
id | servers | 是 | String | 服务器节点的id | |
ip | servers | 是 | String | 服务器节点ip地址 | |
port | servers | 是 | String | 服务器节点访问端口 | |
username | servers | 是 | String | 通过ssh连接的服务器用户名 | |
password | servers | 是 | String | 连接的服务器用户密码,当passwordEncrypted节点为true时填入加密获取的密文 | |
installDCS | servers | 是 | boolean | true | 是否在本节点安装dcs,当填入false时表示不在本服务节点上安装DCS(DCS节点必须为奇数个) |
installVb | servers | 是 | boolean | true | 是否在本节点安装数据库 当填入false时表示不再本服务器节点上安装数据库 |
isMaster | servers | 是 | boolean | 本服务器节点是否为数据库主节点 当填入false时表示节点为数据库备节点 |
|
databaseParam | 是 | { } | 数据库实例化参数 | ||
installPath | databaseParam | 是 | String | /usr/local/vastbase | 数据库安装路径 |
instanceUser | databaseParam | 是 | String | vastbase | 数据库实例用户,为操作系统用户,不可为root用户 |
instancePassword | databaseParam | 是 | String | 数据库实例用户对应的密码 当passwordEncrypted选项填入true时,本选项值为步骤3中获取的密文 |
|
dataPath | databaseParam | 是 | String | /home/vastbase/data | 数据库数据路径 |
log_directory | databaseParam | 否 | String | 日志文件存放目录,如果配置相对路径,则该目录在数据库实例目录下 | |
max_connections | databaseParam | 否 | String | 500 | 最大连接数,根据使用情况设置,如果开启并行查询,需要设置较大值 |
shared_buffers | databaseParam | 否 | String | 100 | 共享内存大小,单位MB,实际设置建议物理内存40%左右 |
work_mem | databaseParam | 否 | String | 4 | 工作内存,单位MB,根据业务特点设置大小 |
wal_buffers | databaseParam | 否 | String | -1 | 预写日志缓冲区,单位MB,设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数,表示wal_buffers的大小随着参数shared_buffers自动调整。 |
effective_cache_size | databaseParam | 否 | String | 最大缓存,单位MB,设置优化器在一次单一的查询中可用的磁盘缓冲区的有效大小 | |
fsync | databaseParam | 否 | boolean | true | 是否开启数据磁盘同步,确保数据的更新及时写入物理磁盘中 |
compatibility | databaseParam | 否 | String | A | 指定初始化数据库的兼容模式 取值范围:A、B、C、PG,分别表示Oracle、MySQL、TeraData和Postgres |
log_filename | databaseParam | 否 | String | postgresql-%Y-%m-%d_%H%M%S.log | 日志文件名 取值范围:字符串 |
log_rotation_age | databaseParam | 否 | String | 1440min | 创建一个新日志文件的时间间隔 取值范围: 整型,0 ~ 35791394,单位为min。其中0表示关闭基于时间的新日志文件的创建 注意事项:当现在的时间减去上次创建一个服务器日志的时间超过了log_rotation_age的值时,将生成一个新的日志文件。 |
log_truncate_on_rotation | databaseParam | 否 | String | off | 日志消息的写入方式 取值范围:on/off,true/false,yes/no,1/0,其中on/true/yes/1表示以覆盖写入的方式写服务器日志消息,off/false/no/0表示将日志消息附加到同名的现有日志文件上。 |
log_rotation_size | databaseParam | 否 | String | 10MB | 日志文件的最大容量 取值范围: 整型,0 ~ INT_MAX / 1024kB,支持单位为kB/MB/GB。 0表示关闭基于容量的新日志文件的创建。 注意事项:当日志消息的总量超过日志文件容量log_rotation_size时,服务器将生成一个新的日志文件。建议该值大小设置级别至少为MB级,利于日志文件的及时划分。 |
archive_mode | databaseParam | 否 | String | off | 是否进行归档操作 取值范围:on/off,true/false,yes/no,1/0,其中on/true/yes/1表示进行归档,off/false/no/0表示不进行归档。 当值设置为:on/true/yes/1时archive_dest和归档WAL日志命令,当开启归档时,必须至少配置一个archive_command,且参数值不能为空或者空字符串。 |
archive_command | databaseParam | 否 | String | 归档WAL日志命令,当开启归档时,必须至少配置一个archive_command,且参数值不能为空或者空字符串。 取值范围:非空字符串。 注意事项:当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。 当wal_level设置成minimal时,archive_mode参数无法使用。 |
|
archive_dest | databaseParam | 否 | String | 归档WAL日志目录 取值范围:非空字符串。 注意事项:当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。 示例:archive_dest = '/mnt/server/archivedir/' |
|
auth | databaseParam | 否 | String | md5 | 认证方式,值为sha256或者md5,且不区分大小写;当该参数项不配置或者值配置为空字符串时默认值为md5 |
white_list | databaseParam | 否 | String | 全网广播,即0.0.0.0 | 白名单,取值为ip地址; 若有多个ip地址,使用英文分号分割 例如:172.16.11.1;172.16.11.2 |
ntpRemoteHost | 否 | String | 172.16.103.17 | 时间同步服务器的ip地址,若本项为空,则安装程序不为集群节点设置时间同步。 | |
dcsParam | 是 | { } | dcs集群配置参数 | ||
autoRun | dcsParam | 否 | boolean | true | 开机自动启动 |
dcsPath | dcsParam | 是 | String | /usr/local/vastbase/dcs | DCS服务的安装路径 |
heartBeatPort | dcsParam | 否 | String | 2379 | DCS服务心跳端口 |
serverPort | dcsParam | 否 | String | 2380 | DCS服务端口 |
hasParam | 是 | { } | has集群配置参数 | ||
communicationPort | hasParam | 否 | String | 8008 | 集群通信端口 |
localListenPort | hasParam | 否 | String | 55434 | 本地监听端口 |
heartBeatPort | hasParam | 否 | String | 55435 | has服务心跳端口 |
serverPort | hasParam | 否 | String | 55436 | has服务端口 |
vip | hasParam | 是 | { } | vip配置参数 | |
vipHost | vip | 是 | String | 集群vip的IP地址,建议集群vip与数据库节点位于同网段 | |
vipmaskbit | vip | 是 | String | 位掩码,与执行route -n命令获取的genmask有关 | |
vipmask | vip | 是 | String | 掩码,通过在数据库节点执行route -n命令获取genmask | |
vipbrd | vip | 是 | String | 网关地址,通过在数据库节点执行route -n命令获取genmask | |
vipdev | vip | 是 | String | 网卡名称,通过在数据库节点执行route -n命令获取Use Iface | |
systemAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的系统管理密码,当passwordEncrypted节点为true时填入加密获取的密文 | ||
securityAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的安全管理员密码,当passwordEncrypted节点为true时填入加密获取的密文 | ||
auditAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的审计管理员密码,当passwordEncrypted节点为true时填入加密获取的密文 |