【问题标题】:Elastic Search does not start弹性搜索未启动
【发布时间】:2018-02-13 19:19:34
【问题描述】:

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

:~/elasticsearch-5.5.2/bin$ ./elasticsearch
Killed

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

【问题讨论】:

  • 也许检查内存设置?
  • @Mena - 我在哪里可以查看?还有,我在找什么?我刚开始使用弹性 - 因此问题.. 谢谢。
  • 我自己不是特别了解,但请尝试查看/etc/sysconfig/elasticsearch附近的堆设置?
  • 你可以在它被杀死后检查dmesg,以确认它是为了内存使用而被杀死的(这很可能是这种情况)。如果这是问题,请尝试更新 jvm.options(可能是 elasticsearch-5.5.2/config/jvm.options?)以限制您的 VPS 内存的一半左右(将 XmsXmx 更新为相同的数字 - 错误在下侧,不是较高的一面)。
  • 是的,内存不足:UB 5315 内存不足:OOM 杀死进程 25169 (nginx) 得分 0 vm:86176kB, rss:880kB, swap:724kB UB 5315 内存不足: OOM 杀死进程 25169 (nginx) 得分 0 vm:86176kB, rss:880kB, swap:724kB [18842961.861257] UB 5315 内存不足: OOM 杀死进程 25227 (java) 得分 0 vm:2925476kB, rss:847800kB, 交换: 0kB

标签: java elasticsearch search lucene


【解决方案1】:

在 Elasticsearch 配置 RAM 使用情况时

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

作为上述文件配置的替代方案,您可以尝试导出corresponding environment variable

导出 ES_JAVA_OPTS="-Xms256m -Xmx256m"

然后检查是否有帮助

./elasticsearch

关于退出状态

被杀

most frequently 表示OoM Killer 进程活动,旨在紧急释放 RAM,让 Linux 在可用 RAM 不足事件中幸存下来。 OoM Killer,顾名思义,会向一些最消耗内存的用户进程发送终止信号。

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

OoM Killer 事件的一些调试方法是 described in this answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 2018-03-18
    • 2015-03-14
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多