配置集群模式脚本文件
本小节包括如下内容:
配置步骤
步骤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
- 由于json格式文件注释不合法,请勿将注释内容粘贴至文件内。
如需了解更多参数,请参考配置文件说明。
以下为集群模式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和Postgreslog_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.2ntpRemoteHost 否 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时填入加密获取的密文