我使用RoR的开发应用程序和宝石叫searchkick,这种宝石内部使用elasticsearch。 一切工作正常,但在生产中,我们面临着一个奇怪的问题,那一段时间后,该网站会下降。 我们发现,原因是在服务器上的内存被使用过度。 我们删除了前一周的某些elasticsearch日志文件,发现该内存使用从92%降低到47%。 我们使用冷轧记录,并每天记录的日志进行备份。 现在,我们正在面对的,只有1前一天的日志文件中的问题,内存越长越高。 日志文件占用了大量的空间,即使是目前一个需要4GB !!!! 如何避免呢?
这些消息几乎是警告级别。
[00:14:11,744][WARN ][cluster.action.shard ] [Abdul Alhazred] [?][0] sending failed shard for [?][0], node[V52W2IH5R3SwhZ0mTFjodg], [P], s[INITIALIZING], indexUUID [4fhSWoV8RbGLj5jo8PVoxQ], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[?][0] failed recovery]; nested: EngineCreationFailureException[[?][0] failed to create engine]; nested: LockReleaseFailedException[Cannot forcefully unlock a NativeFSLock which is held by another indexer component: /usr/lib64/elasticsearch-1.1.0/data/elasticsearch/nodes/0/indices/?/0/index/write.lock]; ]]
纵观一些做题 ,我想增加的ulimit或创建一个新的节点,因此该问题也解决了和尺寸减小。 我limits.conf中有65535软硬NOFILE。 此外,在sysctl.conf的fs.file-MAX更多的100000有没有办法,我可以采取减少文件大小的任何其它步骤,而且我不能够获得洞察elasticsearch配置的变化。
如果有人可以帮助。 谢谢