解决人大金仓KingbaseFlysync(KFS) 同步程序报错:java.lang.OutOfMemoryError: Java heap spacexxxx的问题

40 阅读1分钟

关键字

KingbaseFlysync ,KFS,同步程序, 内存, OutOfMemoryError,Replicator ran out of memory, restarting Restart JVM

问题描述

同步服务能够正常同步数据,在同步过程中遇到超大事务KFS同步异常,且日志中出现了如下提示:

2021/05/24 16:07:58.681 | | [mysql - pool-2-thread-1] ERROR management.OpenReplicatorManager Received error notification, shutting down services :

2021/05/24 16:07:58.681 | Stage task failed: stage=q-to-dbms seqno=5778 fragno=0

2021/05/24 16:07:58.681 | java.lang.OutOfMemoryError: Java heap space

2021/05/24 16:07:58.681 | Replicator ran out of memory, restarting Restart JVM (Ignoring, already restarting).

问题分析

KingbaseFlysync(KFS)同步程默认情况下JVM的最大运行内存为2GB,当同步过程中有超大事务或者超大大字段对象时,会出现JVM异常退出或者重启从而导致KingbaseFlysync(KFS)同步异常。

解决方案

1)在同步程序配置文件flysync.ini中添加JVM内存配置参数

[test@localhost ~]$ vim flysync.ini

在配置文件中[defaults]添加如下配置并保存

repl_java_mem_size=xxx (单位是M)

2)在安装包解析路径下执行./fspm update 参数更新命令

[test@localhost ~]$ cd /home/hes/KingbaseFlySync-V002R002C004BXXXXXXXX-replicator/tools

[test@localhost tools]$ ./fspm update

3)更新成功后,再启动同步程序即可

[test@localhost tools]$ replicator start

更多信息,参见help.kingbase.com.cn/v8/index.ht…