|
@@ -34,7 +34,17 @@ umask 022
|
|
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
|
|
-ZOOPIDFILE=/var/lib/zookeeper/data/zookeeper_server.pid
|
|
|
+ZOOPIDDIR=/var/lib/zookeeper/data
|
|
|
+ZOOPIDFILE=${ZOOPIDDIR}/zookeeper_server.pid
|
|
|
+
|
|
|
+check_privsep_dir() {
|
|
|
+ # Create the PrivSep empty dir if necessary
|
|
|
+ if [ ! -d ${ZOOPIDDIR} ]; then
|
|
|
+ mkdir -p ${ZOOPIDDIR}
|
|
|
+ chown zookeeper:hadoop ${ZOOPIDDIR}
|
|
|
+ chmod 0775 ${ZOOPIDDIR}
|
|
|
+ fi
|
|
|
+}
|
|
|
|
|
|
# Are we running from init?
|
|
|
run_by_init() {
|
|
@@ -59,6 +69,7 @@ export PATH="${PATH:+$PATH:}/usr/sbin:/usr/bin"
|
|
|
case "$1" in
|
|
|
start)
|
|
|
check_for_no_start
|
|
|
+ check_privsep_dir
|
|
|
log_daemon_msg "Starting Apache ZooKeeper server" "zookeeper"
|
|
|
if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
|
|
|
log_end_msg 0
|
|
@@ -80,7 +91,7 @@ case "$1" in
|
|
|
log_daemon_msg "Restarting Apache ZooKeeper server" "zookeeper"
|
|
|
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${ZOOPIDFILE}
|
|
|
check_for_no_start log_end_msg
|
|
|
- if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/bin/zkServer.sh start; then
|
|
|
+ if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
|
|
|
log_end_msg 0
|
|
|
else
|
|
|
log_end_msg 1
|
|
@@ -98,7 +109,7 @@ case "$1" in
|
|
|
0)
|
|
|
# old daemon stopped
|
|
|
check_for_no_start log_end_msg
|
|
|
- if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/bin/zkServer.sh start; then
|
|
|
+ if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
|
|
|
log_end_msg 0
|
|
|
else
|
|
|
log_end_msg 1
|