我正在使用RoR开发一个应用程序和一个名为搜索的创业板,这个创业板内部使用elasticsearch。一切运行良好,但在生产上,我们面临一个奇怪的问题,在一段时间后,该网站下降。我们发现的原因是服务器上的内存被过度使用了。我们删除了前一周的elasticsearch日志文件,发现内存使用量从92%减少到47%。我们使用滚动日志记录,日志每天都被备份。现在,我们面临的问题是,前一天只有一个日志文件,内存就会增加。日志文件占用了很大的空间,即使是当前的日志文件也需要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]; ]]
看看一些SO questions,我试图增加ulimit或创建一个新的节点,这样问题也得到了解决,并且缩小了大小。我的limits.conf有65535的硬文件和软文件。同样在sysctl.conf fs.file-最大值超过100000。此外,我还不能深入了解elasticsearch配置的更改。
如果有人能帮忙的话。谢谢
发布于 2015-01-27 21:49:16
我建议至少升级到1.2.4,因为Lucene:http://issues.apache.org/jira/browse/LUCENE-5612,http://issues.apache.org/jira/browse/LUCENE-5544中报告了一些文件锁定问题。
发布于 2015-10-08 12:58:18
是的,ElasticSearch和Lucene都是资源密集型的。我做了以下工作来纠正我的系统:
a. bin/elasticsearch -Xmx8g -Xms8g
转到config (elasticsearch/config/弹性搜索. and )并确保
bootstrap.mlockall:真
c.将ulimits -Hn和ulimits提高到200000以上。
a.出口 ES_HEAP_SIZE=10g
转到config (/etc/elasticsearch/弹性搜索.etc)并确保
bootstrap.mlockall:真
c.将ulimits -Hn和ulimits提高到200000以上。
无论是作为服务启动还是从命令行启动,请确保输入的大小不超过堆的50%。
https://stackoverflow.com/questions/28082825
复制相似问题