Elasticsearch5.0系统服务安装

每次启动Elasticsearch都执行Shell脚本太过麻烦,一般产品环境下习惯将Elasticsearch做成系统服务,然后随系统开机而自动启动。
原本Elasticsearch是有个elasticsearch service wrapper插件的,然而遗憾的是它不支持最新版的Elasticsearch5.x,因此有了这篇博客。
修改elasticsearch安装目录下bin目录下的elasticsearch脚本文件,编辑如下:

 
编写elasticsearch系统服务脚本文件
1.在/etc/init.d目录下新建一个shell脚本文件
cd /etc/init.d
touch es //这里我们将elasticsearch系统服务脚本文件名称命名为es,其实可以随意命名,为了简洁起见,就命名为es
 
2.编写es脚本文件,编辑内容如下所示:
#!/bin/bash
# chkconfig: 2345 10 90
# description: Elasticsearch Service ....

ES_HOME=/opt/modules/elasticsearch-5.0.1
EXEC_PATH=$ES_HOME
EXEC=elasticsearch
DAEMON=$EXEC_PATH/bin/$EXEC
PID_FILE=$ES_HOME/pid/es.pid
ServiceName='Elasticsearch 5.0'

. /etc/rc.d/init.d/functions

if [ ! -x $DAEMON ] ; then
       echo "ERROR: $DAEMON not found"
       exit 1
fi

stop()
{
       echo "Stoping $ServiceName ..."
       ps aux | grep "$DAEMON" | kill -9 `awk '{print $2}'` >/dev/null 2>&1
       rm -f $PID_FILE
       usleep 100
       echo "Shutting down $ServiceName: [  successful  ]"
}

start()
{
       echo "Starting $ServiceName ..."
       $DAEMON > /dev/null &
       pidof $EXEC > $PID_FILE
       usleep 100
       echo "Starting $ServiceName: [  successful  ]"
}
restart()
{
    stop
    start
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    status)
        status -p $PID_FILE $DAEMON
        ;;
    *)
        echo "Usage: service $ServiceName {start|stop|restart|status}"
        exit 1
esac

exit $?
 
 
3.将elasticsearch服务开启并设置启动级别
chkconfig --level 3 es on
 
4.检查elasticsearch服务是否设置成功
chkconfig --list es
 
5.启动elasticsearch服务
service es start

 打完收工!

猜你喜欢

转载自iamyida.iteye.com/blog/2341539
今日推荐