Gar*_*sso 6 marklogic marklogic-8
我正在运行MarkLogic版本8.0-6.1.
主机操作系统是红帽企业Linux服务器版本6.8(圣地亚哥).
数据存储在具有90%可用空间的本地磁盘上.
服务器运行得相当好,但偶尔会抛出以下错误.
SVC-FILWRT: File write error: write '/var/opt/MarkLogic/Forests/clickstream-1/0000008a/ListData': File too large
Run Code Online (Sandbox Code Playgroud)
有关根本原因和可能修复的任何想法?
展位通常不应该那么大。我可以想象两种情况是如何发生的,尽管不能 100% 确定它们是真的:
您已从引入合并最大大小之前的版本升级了具有少量林的大型数据库,从而阻止了 MarkLogic 立即清除已删除的片段
您运行了一些大型事务,导致内存中的数据超过合并最大大小,一旦持久化到磁盘就会出现类似的情况
当然,这不一定是一件坏事,除非您遇到文件写入错误。如此大的展位中已删除的片段可能会比平时停留更长时间,但如果删除了足够多的片段,MarkLogic 无论如何最终都会将它们合并出来。
如果您想更快地摆脱大的立场,您可以尝试将旧森林置于仅删除模式,强制新的更新移动到其他地方,然后“触摸”该森林内的所有文档,将它们迁移到其中之一其他森林。一旦该森林仅包含已删除的片段,您只需将该森林取出(从数据库中取消分配它),然后将其删除。之后,您可能会重新创建它,并将空林再次分配给数据库。它可能会触发重新平衡,但最终应该会稳定下来,在数据库的所有森林中保持更均匀的平衡。
无论如何,如果您预期一定的增长或大型交易,从一开始就使用多个森林可能是明智的。
对于那些想深入了解技术方面的人,我建议阅读 Inside MarkLogic 论文:
https://developer.marklogic.com/inside-marklogic
数据管理部分尤其与数据库、森林和林分相关。
哈!