Last active
August 29, 2015 14:04
-
-
Save mazgi/37e859026e0c0f9decfd to your computer and use it in GitHub Desktop.
ZooKeeper on Gentoo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/sbin/runscript | |
# Copyright 1999-2014 Gentoo Foundation | |
# Distributed under the terms of the GNU General Public License v2 | |
# $Header: $ | |
description="ZooKeeper daemon" | |
ZOOKEEPER_NAME="${SVCNAME##*.}" | |
if [ -n "${ZOOKEEPER_NAME}" -a "${SVCNAME}" != "zookeeper" ]; then | |
description="${description} for ${ZOOKEEPER_NAME}" | |
ZOOKEEPER_PID="/var/run/zookeeper/zookeeper.${ZOOKEEPER_NAME}.pid" | |
ZOOKEEPER_CONF_DEFAULT="/etc/zookeeper/${ZOOKEEPER_NAME}.conf" | |
else | |
ZOOKEEPER_PID="/var/run/zookeeper/zookeeper.pid" | |
ZOOKEEPER_CONF_DEFAULT="/etc/zookeeper/zookeeper.conf" | |
fi | |
ZOOKEEPER_CONF="${ZOOKEEPER_CONF:-${ZOOKEEPER_CONF_DEFAULT}}" | |
ZOOKEEPER_EXEC="${ZOOKEEPER_EXEC:-/usr/local/cdh5/zookeeper/current/bin/zkServer.sh}" | |
LD_PRELOAD_OPTS="" | |
if [ -f "/usr/lib64/libjemalloc.so" ]; then | |
LD_PRELOAD_OPTS="/usr/lib64/libjemalloc.so" | |
fi | |
#depend() { | |
#} | |
start() { | |
ebegin "Starting ${SVCNAME}" | |
local piddir="${ZOOKEEPER_PID%/*}" | |
checkpath -d --owner zookeeper:zookeeper --mode 0755 "$piddir" | |
if [ $? -ne 0 ]; then | |
eerror "Directory $piddir for pidfile does not exist and cannot be created" | |
return 1 | |
fi | |
start-stop-daemon \ | |
--start \ | |
--user zookeeper \ | |
--pidfile "${ZOOKEEPER_PID}" \ | |
--env LD_PRELOAD="${LD_PRELOAD_OPTS}" \ | |
--env JAVA_OPTS="${JAVA_OPTS} -Xms4G -Xmx4G" \ | |
--env JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=128m -XX:PermSize=32m" \ | |
--env JAVA_OPTS="${JAVA_OPTS} -verbose:gc -Xloggc:/var/log/zookeeper/${ZOOKEEPER_NAME}.gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps" \ | |
--env JAVA_OPTS="${JAVA_OPTS} -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M" \ | |
--env JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote" \ | |
--env ZOOPIDFILE="${ZOOKEEPER_PID}" \ | |
--env ZOOKEEPER_HOME="/usr/local/cdh5/zookeeper/current" \ | |
--env ZOOKEEPER_CONF="/etc/zookeeper" \ | |
--env ZOOCFGDIR="/etc/zookeeper" \ | |
--env CLASSPATH="${CLASSPATH}:/etc/zookeeper:/usr/local/cdh5/zookeeper/current/*:/usr/local/cdh5/zookeeper/current/lib/*" \ | |
--env ZOO_LOG_DIR="/var/log/zookeeper" \ | |
--env ZOO_LOG4J_PROP="DEBUG,ROLLINGFILE" \ | |
--env JVMFLAGS="-Dzookeeper.log.threshold=DEBUG" \ | |
--exec /bin/bash -- -c "exec ${ZOOKEEPER_EXEC} start > /var/log/zookeeper/${ZOOKEEPER_NAME}.console.log 2>&1" | |
eend $? | |
} | |
stop() { | |
ebegin "Stopping ${SVCNAME}" | |
start-stop-daemon \ | |
--stop \ | |
--pidfile "${ZOOKEEPER_PID}" \ | |
--exec /bin/bash -- -c "exec ${ZOOKEEPER_EXEC} stop >> /var/log/zookeeper/${ZOOKEEPER_NAME}.console.log 2>&1" | |
eend $? | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Download && extract files
Create directorys