Elasticsearch 在CentOs7 环境中开机启动

   由于园区的电源不是很稳定,经常会断电,断电之后几十台服务器,启动服务都要人肉启动,真是非常蠢的行为;

开机自启动服务就很有必要,之前设置过,后来没有成功就不管了,断电好几次之后,意识到这个问题就很严重了,所以必须解决掉它;

先说下环境:Cetos 7 64位、Elasticsearch 5.4 版本;

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

chkconfig --list

会列出当前系统的开机服务,更多chkconfig命令参考此链接

二:创建es 的系统启动服务文件,进入到 cd /etc/init.d 目录;

cd /etc/init.d      【进入到目录】
vi elasticsearch    【创建es系统启动服务文件】

三:编写启动脚本;

#!/bin/bash
#chkconfig: 345 63 37
#description: elasticsearch
#processname: elasticsearch-5.4.0

export ES_HOME=/usr/local/es/eshome/es540     【这个目录是你Es所在文件夹的目录】

case $1 in
        start)
                su es<<!        【es 这个是启动es的账户,如果你的不是这个记得调整】
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
                ;;
        stop)
                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 es<<!     【es 这个是启动es的账户,如果你的不是这个记得调整】
                cd $ES_HOME
                ./bin/elasticsearch -d -p pid
                exit
!
                echo "elasticsearch is started"
        ;;
    *)
        echo "start|stop|restart"
        ;;  
esac
exit 0
View Code

四:修改文件权限;

chmod 777 elasticsearch

五:添加和删除服务并设置启动方式;

chkconfig --add elasticsearch    【添加系统服务】
chkconfig --del elasticsearch    【删除系统服务】

六:关闭和启动服务;

service elasticsearch start     【启动】
service elasticsearch stop      【停止】
service elasticsearch restart     【重启】

七:设置服务是否开机启动;

chkconfig elasticsearch on      【开启】
chkconfig elasticsearch off       【关闭】

 -------------------------------

验证是否已启动命令:

ps -ef | grep elasticsearch    【查看是否有es的进程】

结束进程命令用kill -9  进程ID;

补充:

通过自定义脚本启动方式:https://www.jianshu.com/p/053125111158  这个没有试过,不知道能不能成功;

原文地址:https://www.cnblogs.com/Rawls/p/10937280.html