弹性搜索未启动

Dar*_*der 2 java lucene search elasticsearch

当我启动弹性搜索时,我在控制台上看到“Killed”,并且该过程结束。我无法启动弹性搜索过程。我缺少什么?

:~/elasticsearch-5.5.2/bin$ ./elasticsearch
Killed
Run Code Online (Sandbox Code Playgroud)

如果相关,我将其安装在 VPS 上。我没有看到任何其他错误消息 - 这使得调试变得困难。

Kos*_*tyn 8

截至配置 Elasticsearch 的 RAM 使用情况

默认情况下,elasticsearch 在启动时会尝试占用 1Gb RAM,因此如果您的 VPS 的 RAM 少于 1Gb,您需要相应配置 elasticsearch 以使用更少的 RAM

作为上述文件配置的替代方案,您可以尝试导出相应的环境变量

导出 ES_JAVA_OPTS="-Xms256m -Xmx256m"

然后检查是否有帮助

./elasticsearch

关于退出状态

被杀

最常表示OoM Killer进程活动,旨在紧急释放 RAM,让 Linux 在缺乏可用 RAM 的情况下幸存下来。OoM Killer,顾名思义,会向一些最消耗内存的用户进程发送终止信号。

至于 VPS 及其虚拟化模型,有一些有效的基于自定义容器的 OoM 设置(查看OpenVZ 的示例),因此,如果您 100% 确定您已正确配置 ealsticsearch,并且有足够的 RAM 来启动其实例 - 联系您的 VPS 提供商以明确可能的限制(例如 10% 的 RAM 必须始终可用,否则会触发 OoM Killer)

此答案中描述了OoM Killer 事件的一些调试方法