You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch 8.6.2在Ubuntu22.04启动失败(错误码128)求助

Elasticsearch 8.6.2 在Ubuntu 22.04启动失败排查方案

当前问题现状

Elasticsearch服务启动后意外退出,systemd返回退出码128,服务状态为failed,系统状态输出如下:

dev@logserver:~$ sudo systemctl status elasticsearch
× elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-03-17 09:45:13 CST; 1min 57s ago
       Docs: https://www.elastic.co
    Process: 2133 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=128)
   Main PID: 2133 (code=exited, status=128)
        CPU: 1min 30.382s

Mar 17 09:44:43 logserver systemd[1]: Starting Elasticsearch...
Mar 17 09:45:03 logserver systemd[1]: Started Elasticsearch.
Mar 17 09:45:13 logserver systemd-entrypoint[2133]: ERROR: Elasticsearch exited unexpectedly
Mar 17 09:45:13 logserver systemd[1]: elasticsearch.service: Main process exited, code=exited, status=128/n/a
Mar 17 09:45:13 logserver systemd[1]: elasticsearch.service: Failed with result 'exit-code'.
Mar 17 09:45:13 logserver systemd[1]: elasticsearch.service: Consumed 1min 30.382s CPU time.

第一步:提取并分享Elasticsearch日志

Elasticsearch默认日志路径为/var/log/elasticsearch/,执行以下命令获取最新错误日志片段:

# 查看最新50行日志
sudo tail -n 50 /var/log/elasticsearch/elasticsearch.log
# 若日志以集群名称命名,替换为实际文件名
sudo tail -n 50 /var/log/elasticsearch/your-cluster-name.log

直接粘贴命令输出内容即可,重点关注带ERROR或FATAL标记的行。

第二步:初步排查退出码128的常见原因

退出码128通常表示进程启动时遇到无效参数、权限问题或依赖缺失,可先做以下检查:

  • 检查JVM堆内存配置:打开/etc/elasticsearch/jvm.options,确认-Xms和-Xmx设置未超过系统可用内存(比如系统内存4G时,堆内存建议设为2G以内)。
  • 修复目录权限:确保Elasticsearch数据目录和日志目录的所有者为elasticsearch用户:
    sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/ /var/log/elasticsearch/
    
  • 验证系统资源限制:检查elasticsearch用户的文件描述符限制,要求至少为65535:
    sudo su elasticsearch -c "ulimit -n"
    
    若不足,修改/etc/security/limits.conf添加:
    elasticsearch soft nofile 65535
    elasticsearch hard nofile 65535
    
    重启系统或重新登录生效。

第三步:手动启动获取详细错误

跳过systemd直接手动启动Elasticsearch,获取更详细的启动报错信息:

sudo su elasticsearch -c "/usr/share/elasticsearch/bin/elasticsearch"

将启动过程的所有输出信息分享出来,这会比systemd日志更详细。

内容的提问来源于stack exchange,提问作者ShenYa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:07:23