0. 引言
每次啟動(dòng)服務(wù)器都要手動(dòng)啟動(dòng)es服務(wù),相當(dāng)之不方便,為此,書寫一個(gè)腳本,實(shí)現(xiàn)es、kibana的開機(jī)自啟
1. 原理
首先任何服務(wù)要實(shí)現(xiàn)開機(jī)自啟,都可分為如下三步:
1、在/etc/init.d
目錄下創(chuàng)建啟動(dòng)、關(guān)閉服務(wù)的腳本,腳本中要設(shè)置運(yùn)行級(jí)別、啟動(dòng)優(yōu)先級(jí)、關(guān)閉優(yōu)先級(jí)等。
2、給腳本賦權(quán),保證腳本能夠執(zhí)行
chmod +x /etc/init.d/xxx
3、將腳本添加到開機(jī)自啟列表
# 添加開機(jī)自啟
chkconfig --add xxx
# 狀態(tài)設(shè)置為啟動(dòng)
chkconfig xxx on
注意:部分java服務(wù),需要指定jdk路徑,否則會(huì)報(bào)錯(cuò)找不到j(luò)ava
2. 實(shí)現(xiàn)
1、編寫啟動(dòng)腳本
cd /etc/init.d
vim elasticsearch
腳本內(nèi)容
其中elastic
為自建的非root賬號(hào),專用于啟動(dòng)es、kibana;su - elastic
表示切換至elastic賬號(hào)執(zhí)行
#!/bin/bash
#chkconfig: 2345 54 26
#description: elasticsearch
#processname: elasticsearch
ES_HOME=/var/local/elasticsearch
start(){
su - elastic -c "$ES_HOME/bin/elasticsearch -d -p pid"
echo "es is started"
}
stop(){
pid=`cat $ES_HOME/pid`
kill -9 $pid
echo "es is stopped"
}
status(){
ps aux | grep $ES_HOME
}
restart(){
stop
sleep 1
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
echo "支持指令:$0 start|stop|restart|status"
;;
esac
2、給腳本賦權(quán)
chmod +x /etc/init.d/elasticsearch
3、執(zhí)行腳本驗(yàn)證一下
service elasticsearch status
service elasticsearch start
service elasticsearch stop
4、添加到開機(jī)自啟列表
# 添加開機(jī)自啟
chkconfig --add elasticsearch
# 狀態(tài)設(shè)置為啟動(dòng)
chkconfig elasticsearch on
5、同樣書寫kibana的啟動(dòng)腳本,同時(shí)也執(zhí)行上述的賦權(quán)和添加開機(jī)列表指令
vim kibana
腳本內(nèi)容:
因?yàn)閜s指令無法獲取kibana pid,所以換了通過5601端口來查詢進(jìn)程id的方法,如果后續(xù)端口調(diào)整了,這里腳本也要調(diào)整
#!/bin/bash
#chkconfig: 2345 55 27
#description: kibana
#processname: kibana
KIBANA_HOME=/var/local/kibana
start(){
su - elastic -c "nohup $KIBANA_HOME/bin/kibana >>/dev/null 2>&1 &"
echo "kibana is started"
}
stop(){
# 這里主要是通過網(wǎng)絡(luò)端口5601尋找kibana進(jìn)程的pid
kibana_pid_str=`netstat -tlnp |grep 5601 | awk '{print $7}'`
kibana_pid=`echo ${kibana_pid_str%%/*}`
kill -9 $kibana_pid
echo "kibana is stopped"
}
status(){
ps aux | grep $KIBANA_HOME
}
restart(){
stop
sleep 1
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
echo "支持指令:$0 start|stop|restart|status"
;;
esac
6、重啟服務(wù)器,重啟后直接訪問kibana,查詢正常,說明es和kibana都自動(dòng)啟動(dòng)了,設(shè)置成功!文章來源:http://www.zghlxwxcb.cn/news/detail-633294.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-633294.html
到了這里,關(guān)于Elastic:linux設(shè)置elasticsearch、kibana開機(jī)自啟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!