配置单机模式脚本文件
本小节包括如下内容:
配置步骤
步骤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/single.json /soft/hainstaller/installer/single_new.json
步骤5 参考如下配置项说明,修改脚本文件内各配置项。在拷贝的模板文件的基础上,用户可对照如下样例,结合实际环境对应修改脚本文件的必填项。
vi /soft/hainstaller/installer/single_new.json
由于json格式文件注释不合法,请勿将注释内容粘贴至文件内。
如需了解更多参数,请参考配置文件说明。
以下为单机模式json配置文件样例及其必填项说明,各配置项均填入了其默认值。
配置文件说明
单机模式参数配置文件为安装包解压路径/hainstaller/installer下,以本文解压路径为例,查看单机模式模板文件为:
cat /soft/hainstaller/installer/single.json
单机模式参数配置文件single.json各配置项节点的说明请参考下表:
节点 | 父节点 | 是否必填 | 类型 | 默认值 | 说明 |
---|---|---|---|---|---|
vbType | 是 | String | 单机模式填入single | ||
passwordEncrypted | 是 | boolean | false | 设置配置文件中的密码加密 | |
servers | 是 | List | 服务器节点列表 | ||
ip | servers | 是 | String | 服务器节点ip地址 | |
port | servers | 是 | String | 服务器节点访问端口 | |
username | servers | 是 | String | 通过ssh连接的服务器用户名 | |
password | servers | 是 | String | 连接的服务器用户密码,当passwordEncrypted节点为true时填入加密获取的密文 | |
databaseParam | 是 | { } | 数据库实例化参数 | ||
isCreateInstance | databaseParam | 是 | boolean | true | 是否创建实例,为false时databaseParam部分只需填写installPath节点 |
installPath | databaseParam | 是 | String | /home/vastbase/local | 数据库安装路径 |
instanceUser | databaseParam | 否 | String | vastbase | 数据库实例用户,不可为root用户 |
instancePassword | databaseParam | 否 | String | 数据库实例用户密码,当passwordEncrypted节点为true时填入加密获取的密文 | |
dataPath | databaseParam | 否 | String | /home/vastbase/data | 数据库数据路径 |
listen_addresses | databaseParam | 否 | String | 0.0.0.0 | 数据库的监听地址 |
port | databaseParam | 否 | String | 5432 | 数据库的监听端口 |
shared_buffers | databaseParam | 否 | String | 100 | 共享内存大小,单位MB,实际设置建议物理内存40%左右 |
work_mem | databaseParam | 否 | String | 4 | 工作内存,单位MB,根据业务特点设置大小 |
wal_buffers | databaseParam | 否 | String | -1 | 预写日志缓冲区,单位MB,设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数 |
effective_cache_size | databaseParam | 否 | String | 最大缓存,单位MB,设置优化器在一次单一的查询中可用的磁盘缓冲区的有效大小 | |
fsync | databaseParam | 否 | boolean | true | 是否开启数据磁盘同步,确保数据的更新及时写入物理磁盘中 |
compatibility | databaseParam | 否 | String | A | 指定初始化数据库的兼容模式,取值范围:A、B、C、PG,分别表示Oracle、MySQL、TeraData和Postgres |
log_directory | databaseParam | 否 | String | 日志文件存放目录,如果配置相对路径,则该目录在数据库实例目录下 | |
log_filename | databaseParam | 否 | String | postgresql-%Y-%m-%d_%H%M%S.log | 日志文件名 取值范围:字符串 |
log_rotation_age | databaseParam | 否 | String | 1440min | 创建一个新日志文件的时间间隔 取值范围: 整型,0 ~ 35791394,单位为min。其中0表示关闭基于时间的新日志文件的创建。 注意事项:当现在的时间减去上当wal_level设置成minimal时,archive_mode参数无法使用次创建一个服务器日志的时间超过了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 | 20MB | 日志文件的最大容量 取值范围: 整型,0 ~ INT_MAX / 1024kB,支持单位为kB/MB/GB。 0表示关闭基于容量的新日志文件的创建。 注意事项:当日志消息的总量超过日志文件容量log_rotation_size时,服务器将生成一个新的日志文件。建议该值大小设置级别至少为MB级,利于日志文件的及时划分。 |
archive_mode | databaseParam | 否 | String | off | 是否进行归档操作 |
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/' |
|
password_encryption_type | databaseParam | 否 | String | md5 | 认证方式 取值范围:sha256或md5,且不区分大小写 |
white_list | databaseParam | 否 | String | 0.0.0.0,即全网广播 | 白名单,取值为ip地址;若有多个ip地址,使用英文分号分割 例如:172.16.11.1;172.16.11.2 |
systemAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的系统管理密码,当passwordEncrypted节点为true时填入加密获取的密文 | ||
securityAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的安全管理员密码,当passwordEncrypted节点为true时填入加密获取的密文 | ||
auditAdminPassword | 是 | String | 完成数据库初始化后,自动修改后的审计管理员密码,当passwordEncrypted节点为true时填入加密获取的密文 |