关键字:
KingbaseES、集群管理、读写分离、金仓数据库
配置
主机(master): 10.10.12.236:8899 KES V9
从机(standby):10.10.12.237:7788 KES V9
Kingbase.conf文件详解
参数名称
建议值
备注
listen_addresses
wal_keep_segments
512
max_connections
业务高峰期使用的连接数×120%
根据用户业务的实际情况调整
max_prepared_transactions
业务高峰期使用的连接数×120%
和max_connectioins 保持一致
port
54321
可根据用户需要进行调整
shared_buffers
物理内存的1/3
实际使用过程中,数据库会使用大于此值的内存。
wal_log_hints
on
wal_level
replica
minimal < replica < logical,开启归档要求最小为replica级别。
archive_mode
on/always
开启归档,物理备份要求开启归档。开启归档的情况下,可在误操作或数据损坏的情况下,通过物理备份和归档进行数据恢复。
archive_command
'test ! -f archive_dir/%f'
$archive_dir 即归档日志存放路径。归档路径最好设置为其他磁盘的路径,可以规避数据盘损坏导致归档和数据同时丢失。
logging_collector
on
开启日志收集功能,数据库运行日志会记录在数据目录/sys_log的目录中。
log_destination
csvlog
stderr或csvlog或syslog或eventlog。 stderr和csvlog会将数据库运行日志记录在数据目录下的文件中,区分是记录的格式不同, csvlog格式方便被其他软件读取。而另外两个配置则依赖操作系统,会记录到操作系统的系统日志中。
timezone
PRC
根据用户使用的时区调整
lc_messages
en_US.UTF-8
根据用户需要,可配置成zh_CN.UTF-8(中文)
lc_monetary
en_US.UTF-8
根据用户需要,可配置成zh_CN.UTF-8(中文)。
lc_numeric
en_US.UTF-8
根据用户需要,可配置成zh_CN.UTF-8(中文)。
lc_time
en_US.UTF-8
根据用户需要,可配置成zh_CN.UTF-8(中文)。
full_page_writes
on
主机配置
正常安装并初始化实例。修改配置文件sys_hba.conf,新增以下内容:
host replication all 10.10.12.237/32 trust
注意上述内容的32不可改变,切勿以为那是端口号。
完成配置后启动主库。
备机配置
正常安装但不初始化数据库。执行以下命令去拷贝主机的数据:
./sys_basebackup -p 8899 -Usystem -F p -R -D ../datainterval_back/
由于我们使用的是trust模式,因此可以不用输入密码。如果我们使用的是md5认证方式,则还需要输入主库用户system的密码。
完成配置后启动备库。
验证
登陆主库,建立表t1。
登陆从库,查询表t1成功,往表t1插入数据失败。
说明读写分离集群创建成功,从库只能读数据,不能新增、删除、修改数据。
参考资料
《KingbaseES参考手册》