在使用巨杉数据库的过程中,如果存在”大事务“或者”长事务“的情况, 一般会在巨杉数据库引擎这边报 -203(事务日志空间不足) 的错误。 而在MySQL端会报: 【ERROR: Got error 40203 from storage engine】的错。 也是指”事务日志空间不足“, 即同步事务日志空间不足(注: 巨杉库中的同步日志和事务日志是同一个日志文件)。此时需要通过更改单个日志文件大小(logfilenum) 或者 节点日志文件个数(logfilenum)。 相关数据库配置参数信息可参考: http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190643-edition_id-0
此处以更改”单个日志文件大小()"为例, 而更改”节点日志文件个数()”的方式 也类似。 参考版本: SequoiaDB version: 3.4。 操作步骤如下:
分别找出4台机器上的数据节点
sdblist -r data -l
停止4台机器的数据节点,分别在4台机器上去执行
sdbstop -r data
更改4台机器上数据节点的配置文件, 根据1步骤找出的节点信息,假设找到的节点是: 11830
vi /opt/sequoiadb/conf/local/11830/sdb.conf
将 logfilesz=64 更改为 logfilesz=512
删除数据节点下面的replicalog, 假设找到的节点的存储目录为: /opt/sequoiadb/database/data/11830/。每台机上均要执行
ls /opt/sequoiadb/database/data/11830/replicalog/* -atl
rm -rf /opt/sequoiadb/database/data/11830/replicalog/*
删除完之后,执行节点启动命令
sdbstart -r data
检查事务日志由之前的64MB/每个, 变为了512MB/每个
du -sh /opt/sequoiadb/database/data/11830/replicalog/*