关键字:
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 && cp %p $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参考手册》