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

如何在Linux系统中将Elasticsearch节点配置为开机自启的系统服务

Elasticsearch 集群配置 Linux 开机自启服务实操

前置校验

  • 所有ES节点均使用非root用户启动(ES内置安全机制禁止root直接启动进程,这是硬性要求,提前把ES安装目录的属主设为对应启动用户,比如常见的esadmin:chown -R esadmin:esadmin /你的ES安装根目录)
  • 确认对应节点的ES配置(端口、数据目录、集群发现规则)在当前用户权限下可正常读写,手动执行ES进程能正常启动、正常加入集群
  • 如果是通过官方RPM/DEB包安装的ES,安装流程会自动生成系统服务文件,可直接跳过手动写服务配置的步骤,直接执行自启配置命令即可

主流systemd 系统配置(CentOS7+、Ubuntu16.04+、Debian9+等绝大多数当前在用的Linux发行版)

  1. 针对手动解压安装包部署的ES节点,新建服务配置文件:/etc/systemd/system/elasticsearch.service
    写入以下配置内容,替换为你实际的路径和启动用户:
    [Unit]
    Description=Elasticsearch Cluster Node Service
    After=network.target
    
    [Service]
    Type=simple
    # 替换为你实际的ES专用启动非root用户
    User=esadmin
    Group=esadmin
    # 替换为你的ES实际安装根目录
    WorkingDirectory=/opt/elasticsearch-8.11.0
    # 替换为实际的ES可执行文件绝对路径,指定pid文件存储位置
    ExecStart=/opt/elasticsearch-8.11.0/bin/elasticsearch -p /var/run/elasticsearch/elasticsearch.pid
    # 异常退出自动拉起策略
    Restart=on-failure
    # 满足ES运行要求的系统资源限制,避免启动失败
    LimitMEMLOCK=infinity
    LimitNOFILE=65536
    # 允许ES调整内核资源参数的权限
    AmbientCapabilities=CAP_SYS_RESOURCE
    
    [Install]
    WantedBy=multi-user.target
    
  2. 给配置文件设置正确权限:chmod 644 /etc/systemd/system/elasticsearch.service
  3. 重载systemd配置使新服务生效:systemctl daemon-reload
  4. 配置服务开机自启:systemctl enable elasticsearch.service
  5. 手动启动服务验证运行状态:systemctl start elasticsearch,执行systemctl status elasticsearch确认进程正常启动、无报错
  6. 单台服务器部署多ES节点的场景:复制上述service配置文件,修改不同节点的进程pid路径、配置文件路径、端口参数,按顺序命名为elasticsearch-node1.service、elasticsearch-node2.service,每个服务单独执行enable、start操作即可。

老旧SysVinit 系统配置(CentOS6、Ubuntu14.04等已停止维护的老系统)

  1. 将ES安装目录下自带的启动脚本复制到系统服务目录:cp /opt/elasticsearch-8.11.0/bin/elasticsearch /etc/init.d/elasticsearch
  2. 给脚本添加执行权限:chmod +x /etc/init.d/elasticsearch
  3. 注册系统服务并设置开机自启:chkconfig --add elasticsearch && chkconfig elasticsearch on
  4. 启动服务验证:service elasticsearch start

常见排坑点

  • 严禁在服务配置里把启动用户设为root,ES启动时会自动检测并拦截root运行的进程,直接触发启动失败
  • 必须在服务配置里配置够ES需要的系统资源限制,否则会出现进程启动后被系统OOM杀掉、文件句柄不足无法加载索引的问题
  • 所有ExecStart、WorkingDirectory的路径必须写绝对路径,不能写相对路径,否则systemd启动时会找不到目标文件导致开机自启失效
  • 配置完成后最好通过一次服务器重启验证全流程:服务器重启后执行集群健康检查命令curl -X GET "http://节点IP:9200/_cluster/health?pretty",确认包含1个主节点、10个数据节点的全集群所有节点都正常加入,不要只看服务配置的enabled状态就认为配置完成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 02:06:10