由於園區的電源不是很穩定,經常會斷電,斷電之后幾十台服務器,啟動服務都要人肉啟動,真是非常蠢的行為;
開機自啟動服務就很有必要,之前設置過,后來沒有成功就不管了,斷電好幾次之后,意識到這個問題就很嚴重了,所以必須解決掉它;
先說下環境: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
四:修改文件權限;
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 這個沒有試過,不知道能不能成功;