前言

国庆放假后回公司,发现ES服务竟然挂了,导致出现服务不可用的问题。幸好是公司内部的自用服务,没造成什么不良影响。最后经过调查发现,是国庆期间公司整栋楼断电维护,导致所有服务器都重启了,而服务器上的ES服务并没有配置开机自启动。
翻看ES官网发现并没有对ES开机自启动做介绍,所以写篇文章补充一下。


这里演示采用chkconfig方式配置开机自启动。其他配置方式可以查看Centos中配置开机自启动的方式汇总

一、先查看当前的开机启动服务

chkconfig --list

在这里插入图片描述
chkconfig没有配置elasticsearch服务。

二、在/etc/init.d目录下创建启动文件

cd /etc/init.d
vi elasticsearch

脚本内容如下:

#!/bin/bash
#chkconfig: 2345 63 37
#description: elasticsearch
#processname: elasticsearch-6.2.4

export ES_HOME=/usr/local/elasticsearch-6.2.4

case $1 in
        start)
                su esuser<<!
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
                ;;
        stop)
                ##也可以根据ps命令获取elasticsearch进程的pid
                ##es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
                ##kill -9 $es_pid
               
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                ;;
        restart)
                pid=`cat $ES_HOME/pid`
                kill -9 $pid
                echo "elasticsearch is stopped"
                sleep 1
                su esuser<<!
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
        ;;
    *)
        echo "start|stop|restart"
        ;;
esac
exit 0

注意⚠️:
1、脚本中自动完成了用户的切换,在esuser用户下启动elasticsearch
2、采用./bin/elasticsearch -d -p pid命令启动,会在目录下生成pid文件,服务stop时可以直接读取pid文件获取pid。

说明:
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。
第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。
第二行对服务进行描述,可以用\ 跨行注释。

#chkconfig: 2345 63 37指的是指定kibana服务在2、3、4、5的level等级下脚本执行顺序是63,1、6的level等级下脚本执行顺序是37。

三、增加脚本的可执行权限

chmod +x elasticsearch

四、把elasticsearch服务添加到chkconfig列表

chkconfig --add elasticsearch

五、设置elasticsearch服务自启动

chkconfig elasticsearch on  //开启开机自动启动

六、查看elasticsearch服务自启动状态

chkconfig --list elasticsearch

如果2~5都是on,就表明会自动启动了

在这里插入图片描述

七、服务的启动、停止、重启

//服务启动
service elasticsearch start
//服务停止
service elasticsearch stop
//服务重启
service elasticsearch restart

总结

本文主要介绍了采用chkconfig方式配置elasticsearch服务,实现elasticsearch服务的启动、停止、重启和开机启动等功能。

Linux chkconfig开机启动
最详细的CentOS7设置自定义开机启动服务教程
elasticsearch设置开机自启动

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐