File init.d-elasticsearch of Package elasticsearch
x
1
#! /bin/bash
2
### BEGIN INIT INFO
3
# Provides: elasticsearch
4
# Required-Start: $all
5
# Required-Stop: $all
6
# Default-Start:
7
# Default-Stop: 0 1 6
8
# Short-Description: Starts elasticsearch
9
# chkconfig: - 80 15
10
# Description: Elasticsearch
11
### END INIT INFO
12
13
# Source function library.
14
. /etc/rc.d/init.d/functions
15
16
# Pull in sysconfig settings
17
[ -f /etc/sysconfig/elasticsearch ] && . /etc/sysconfig/elasticsearch
18
19
ES_HOME=/usr/share/java/elasticsearch
20
ES_USER=elasticsearch
21
22
DAEMON=${ES_HOME}/bin/elasticsearch
23
NAME=elasticsearch
24
PID_FILE=${PIDFILE:-/var/run/${NAME}/${NAME}.pid}
25
LOCK_FILE=${LOCKFILE:-/var/lock/subsys/${NAME}}
26
NFILES=${NFILES:-32768}
27
28
ES_PATH_LOG=${ES_PATH_LOG:-/var/log/${NAME}}
29
ES_PATH_DATA=${ES_PATH_DATA:-/var/lib/${NAME}}
30
ES_PATH_WORK=${ES_PATH_WORK:-/tmp/${NAME}}
31
ES_PATH_CONF=${ES_PATH_CONF:-/etc/${NAME}}
32
ES_PATH_PLUGINS=${ES_PATH_PLUGINS:-${ES_HOME}/plugins}
33
ES_CONFIG=${ES_CONFIG:-${ES_PATH_CONF}/elasticsearch.yml}
34
35
DAEMON_OPTS="-p ${PID_FILE} \
36
-Des.config=${ES_CONFIG} \
37
-Des.path.conf=${ES_PATH_CONF} \
38
-Des.path.home=${ES_HOME} \
39
-Des.path.logs=${ES_PATH_LOG} \
40
-Des.path.data=${ES_PATH_DATA} \
41
-Des.path.work=${ES_PATH_WORK} \
42
-Des.path.plugins=${ES_PATH_PLUGINS}"
43
44
# These environment variables are passed over.
45
ES_MIN_MEM=${ES_MIN_MEM:-256m}
46
ES_MAX_MEM=${ES_MAX_MEM:-1g}
47
ES_INCLUDE=${ES_INCLUDE:-${ES_HOME}/bin/elasticsearch.in.sh}
48
49
start() {
50
echo -n $"Starting ${NAME}: "
51
mkdir -p $ES_PATH_WORK
52
ulimit -n $NFILES
53
daemon --pidfile=${PID_FILE} --user $ES_USER \
54
ES_HOME=$ES_HOME \
55
ES_INCLUDE=$ES_INCLUDE \
56
ES_MIN_MEM=$ES_MIN_MEM \
57
ES_MAX_MEM=$ES_MAX_MEM \
58
$DAEMON $DAEMON_OPTS
59
RETVAL=$?
60
echo
61
[ $RETVAL -eq 0 ] && touch $LOCK_FILE
62
return $RETVAL
63
}
64
65
stop() {
66
echo -n $"Stopping ${NAME}: "
67
killproc -p ${PID_FILE} -d 10 $DAEMON
68
RETVAL=$?
69
echo
70
[ $RETVAL = 0 ] && rm -f ${LOCK_FILE} ${PID_FILE}
71
return $RETVAL
72
}
73
74
case "$1" in
75
start)
76
start
77
;;
78
stop)
79
stop
80
;;
81
status)
82
status -p ${PID_FILE} $DAEMON
83
RETVAL=$?
84
;;
85
restart|force-reload)
86
stop
87
start
88
;;
89
*)
90
N=/etc/init.d/${NAME}
91
echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
92
RETVAL=2
93
;;
94
esac
95
96
exit $RETVAL
97