2021-09-30

1基本环境部署

1.1上传安装包及签名文件

将安装包以及签名文件分别上传至root用户和secadm用户

1.2软件安装

安装软件 rpm 包,安装通过操作系统自带【安全配置管理】工具提供的【软件管理】功能进行安装
注: RPM 安装包不允许更改安装路径及相关配置信息

1.3修改操作系统参数配置文件

1.3.1执行 vim /etc/security/limits.conf 并在文段末尾添加如下信息

在这里插入图片描述
附参数详解:
soft ——指当前系统生效的设置值。
hard——指系统中所能设定的最大值。soft的限制不能比hard的限制高。
nofile——指打开文件的最大数目
nproc——指进程的最大数目
core ——指限制内核文件的大小

1.3.2执行 vim /etc/sysctl.conf 并在文段末尾追加写入如下信息

在这里插入图片描述
sysctl -p 重新加载生效

1.3.3执行vim/opt/Kingbase/ES/V8/data/kingbase.conf

在这里插入图片描述
在这里插入图片描述
注:shared_buffers=RAM0.4GB
effective_cache_size=RAM
0.5GB ——RAM指内存(free -g)
系统参数详解详见【附录一】

2安装前准备

2.1防火墙

在这里插入图片描述

2.2操作系统参数配置

2.2.1执行 vim /etc/security/limits.conf,并在文段末尾添加如下信息。

在这里插入图片描述

2.2.2编辑sys_hba.conf 文件, 增加如下配置,使用户有复制权限。

在这里插入图片描述

2.2.3编辑kingbase.conf 文件, 修改如下配置。

在这里插入图片描述

2.2.4全部配置完成后,重启数据库使配置生效

注:必须重启数据库,并保证配置参数生效

3软件安装

安装同步软件 rpm 包 (kingbase-flysync-replicator-1.x.x-YYYYMMDD.x86_64.rpm),安装通过操作系统自带【安全配置管理】工具提供的【软件管理】功能进行安装
注:
1.RPM 安装包不允许更改安装路径及相关配置信息;
2. 目前安装过程需要通过人工方式签名;
3. 软件默认安装路径为:/opt/KFS/V1;
4. 同步软件默认包含一个 master 及一个 slave 服务;
5. 软件安装后需先进行同步服务配置信息的修改

4同步服务配置

4.1拷贝模板文件 flysync.ini 到 /root 目录下

在这里插入图片描述

4.2编辑配置文件 flysync.ini

修改源端服务 master_sync 配置
在这里插入图片描述
修改目标端服务 slave_sync 配置
在这里插入图片描述

5查看状态

执行 fsrepctl services (master和slave均为offline状态)

6执行同步服务更新命令

执行 fspm update
再次查看状态
执行 fsrepctl services (master和slave均为online状态)

7解析日志并测试同步

追踪日志
tail -fn 100
登录到数据库,新建表并插入数据
在这里插入图片描述
若操作同步记录到日志文件中,则测试成功

【附录一】

数据库参数详解:
listen_addresses=’
#表示kingbase监听程序绑定在所有本地IP上。先通过listen_address来过滤连接。比先设置listen_address = '
’ 再验证sys_hba.conf文件效率高, 耗费的资源少。

port=54321
#表示数据库端口为54321(默认为54321,如与其他应用冲突,可更改)

max_connections=1000
#表示最大连接数。不应比实际值多太多,增大这个参数可能会让数据库申请更多的System V共享内存或信号灯,这可能会因为超过操作系统默认配置值导致无法启动。

shared_buffers=RAM*0.4GB
#KingbaseES 统一管理实例所用的内存资源。配置参数 shared_buffers 决定了数据库实例使用多少内存。当系统启动时,数据库实例向操作系统申请一块大内存(大小由 shared_buffers 决定)作为共享内存。在这之后各个线程对内存资源的使用都在这块内存里操作。推荐设置值为物理内存的25% ~ 40%。

work_mem =10MB
#声明内部排序和哈希操作可使用的工作内存大小。该内存是在开始使用临时磁盘文件之前使用的内存数目。数值以kB为单位的,缺省是 1024 (1MB)。请注意对于复杂的查询,可能会同时并发运行好几个排序或者哈希操作,每个都会使用这个参数声明的这么多内存,然后才会开始求 助于临时文件。同样,好几个正在运行的会话可能会同时进行排序操作。因此使用的总内存可能是 work_mem 的好几倍。ORDER BY, DISTINCT 和mergejoin都要用到排序操作,而哈希操作在哈希连接、哈希聚集和以哈希为基础的 IN 子查询处理中都会用到。该参数是会话级参数。

maintenance_work_mem=1GB
#声明在维护性操作(比如 VACUUM, CREATE INDEX, ALTER TABLE ADD FOREIGN KEY 等)中使用的最大的内存数。以kB为单位,缺省是 16384 (16MB)。 因为在一个数据库会话里,任意时刻只有一个这样的操作可以执行,并且一个数据库安装通常不会有太多这样的工作并发执行,把这个数值设置得比 work_mem 更大是安全的。更大的设置可以改进清 理和恢复数据的速度。推荐每GB的物理内存设置50MB。

effective_cache_size=RAM*0.5GB ——RAM指内存(free -g)
#优化器假设一个查询可以使用的最大内存(包括kingbase使用的和操作系统缓存),和shared_buffer等内存无关,只是给优化器生成计划使用的一个假设值。

log_rotation_size=100MB
#单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到100M,否则将新生成一个日志文件。

log_checkpoints=on
#当数据库进行一项大更新操作时,如果参数设置不当,会在日志里留下大量的告警信息,频繁的做checkpoint会导致系统变慢,不用设置都会有。但是不会记录系统正常的checkpoint,如果想看系统一天之类发生 了多少次checkpoint,以及每次checkpoint的一些详细信息,比如buffer,sync等,就可以通过设置log_checkpoints,该参数默认值是off。

log_connections=on
#是否记录用户连接信息

log_disconnections=on
#是否记录用户连接断开信息

log_lock_waits=on
#当一个会话被锁的等待时间超过deadlock_timeout是否产生一个日志信息。在判断一个锁等待是否会影响性能时是有用的,缺省是off。

log_autovacuum_min_duration=0
#这个参数用来记录 autovacuum 的执行时间,当 autovaccum 的执行时间超过 log_autovacuum_min_duration参数设置时,则autovacuum 信息记录到日志里,默认为 “-1”, 表示不记录。

log_temp_files=0
#当SQL有排序、临时查询结果或hash时,会生成临时文件。这件临时文件有时会比较大,需要监控,可以设置参数log_temp_files为一个整数值,当临时大于这个值时,则把临时文件的信息打印到日志中。

log_statement=‘ddl’
#none, ddl, mod, all ---- 控制记录哪些SQL语句。none不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP 语句。mod记录所 有ddl语句,加上数据修改语句INSERT,UPDATE等,all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句。

log_min_duration_statement=1000
#单位:毫秒,可以设置一定时长的参数(log_min_duration_statement),来记录超过该时长的所有SQL,对找出当前数据库的慢查询很有效。-1 表示不记录,0将记录所有SQL语句和它们的耗时,>0只记录那些耗时超 过(或等于)这个值(ms)的SQL语句。比如log_min_duration_statement = 2000,记录超过2秒的SQL,改完需要reload。

lc_messages=‘C’
#设置信息显示的语言。可接受的值是操作系统相关的。如果这个变量设置为空字符串,那么其值将以一种系统相关的方式从服务器的执行环境中继承。缺省值为zh_CN.UTF-8。有效值可以有两种形式:‘C’或语言编码格式,如:zh_CN.UTF8、zh_CN.GB18030等,对于后一种形式必须指定编码。
log_line_prefix=’%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h’
#这是一个 printf 风格的字符串,用以设置在日志的每行开头输出内容。缺省是空字符串。日志输出前缀,可根据自己需求需要设置(能够记录时间, 用户名称,数据库名称,客户端IP和端口,方便定位问题)

char_default_type=‘char’
#定长字符串,如果显式指定了 CHAR,则以字符为单位;如果显式指定了 BYTE,则以字节为单位;如果没有显式指定,则以系统参数 char_default_type 为准,若系统参数 char_default_type 为 CHAR,则以字符为单位,否则以字节为单位。n缺省为1。

max_locks_per_transaction=1024
#设置每个事务最多可以持有的锁的个数。如果应用可能在一个事务里面修改很多不同的表,可能需要提高这个数值。缺省值为64,对于大多数 应用已经足够。这个参数只能在服务器启动的时候设置。

ora_date_style=on
#默认为off,日历日期形式为年,月,日
#值为on时,日历日期形式为(年,月,日,时,分,秒)。

ora_format_style=on
#开关开启时,格式化输出(to_char,to_timestamp…)兼容oracle,默认 值为off。

ora_func_style=on
#设置兼容Oracle函数行为,默认为true启用状态。当启用 (true)ora_func_style时, sequence.nextval兼容Oracle的Sequence伪列行为。 比如,SELECT SEQ.NEXTVAL AS A, SEQ.NEXTVAL AS B FROM DUAL,结果A B 值相 同。 ltrim/rtrim/btrim兼容Oracle对应函数行为, 最长的只包含characters只能是 一个字 符。 textcat兼容Oracle字符 串连接NULL时候,结果为字符串本身。 regexp_replace兼容Oracle 该函数行为,regexp_replace参数中有NULL出现,当做空串 处理。 当关闭(false)ora_func_style时,上述函数表现为原有形式。

ora_input_emptystr_isnull=on
#设置空串输入的输入形式(空串或NULL)及部分函数返回值空串输出形式(空串或 NULL),默认为true启用状态。当启用(true)ora_input_emptystr_isnull时, 既可 以输入空串有可以输入为NULL,那么空串将变成NULL的形式输入。比如,我们向没有空值限制列加入数据空串数据时候,实际空串会被当做NULL存入该列中。 COMMENT 注释对象信息时候,注释信息(text)为空串时候,空串作为NULL处
理,就表示删除对象信息。 regexp_replace和ltrim/rtrim/btrim返回值为空串时候,返回NULL。 当关闭(false)ora_input_emptystr_isnull 时,输入空串依旧作为空串处 理;上述函数返回值为空串时候,依旧返回空串。

ora_numop_style=on
兼容oracle number类型数据的operator

本文正在参与炫“库”行动—人大进仓有奖征文 活动链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值