mirror of
https://git.freebsd.org/ports.git
synced 2025-06-06 05:10:29 -04:00
59 lines
1.5 KiB
Bash
59 lines
1.5 KiB
Bash
#!/bin/sh
|
|
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: zookeeper
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add the following line to /etc/rc.conf to enable zookeeper:
|
|
#
|
|
# zookeeper_enable="YES"
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=zookeeper
|
|
rcvar=zookeeper_enable
|
|
|
|
load_rc_config "${name}"
|
|
|
|
: ${zookeeper_enable:=NO}
|
|
: ${zookeeper_user:=%%ZOOKEEPER_USER%%}
|
|
: ${zookeeper_group:=%%ZOOKEEPER_GROUP%%}
|
|
: ${zookeeper_pidfile:=/var/run/zookeeper.pid}
|
|
: ${zookeeper_config:=%%ETCDIR%%/zoo.cfg}
|
|
: ${zookeeper_log4jpropfile:=file:%%ETCDIR%%/log4j.properties}
|
|
: ${zookeeper_rootlogger:="INFO,ROLLINGFILE"}
|
|
: ${zookeeper_logdir:=%%ZOOKEEPER_LOGDIR%%}
|
|
: ${zookeeper_jvmopts:=}
|
|
|
|
JAVA=%%JAVA%%
|
|
JAVAJARDIR=%%JAVAJARDIR%%
|
|
|
|
for i in zookeeper jline slf4j-api netty log4j
|
|
do
|
|
CLASSPATH="${JAVAJARDIR}/$i.jar:$CLASSPATH"
|
|
done
|
|
CLASSPATH=/usr/local/share/slf4j/slf4j-log4j12.jar:$CLASSPATH
|
|
|
|
zookeeper_main="-cp $CLASSPATH org.apache.zookeeper.server.quorum.QuorumPeerMain ${zookeeper_config}"
|
|
log4j_params="-Dzookeeper.log.dir=${zookeeper_logdir} \
|
|
-Dlog4j.configuration=${zookeeper_log4jpropfile} \
|
|
-Dzookeeper.root.logger=${zookeeper_rootlogger}"
|
|
pidfile=${zookeeper_pidfile}
|
|
procname=${JAVA}
|
|
required_files="${zookeeper_config}"
|
|
|
|
command="/usr/sbin/daemon"
|
|
command_args="-p ${pidfile} ${JAVA} ${zookeeper_jvmopts} ${log4j_params} ${zookeeper_main}"
|
|
|
|
start_precmd="zookeeper_init"
|
|
|
|
zookeeper_init()
|
|
{
|
|
touch ${pidfile}
|
|
chown ${zookeeper_user}:${zookeeper_group} ${pidfile}
|
|
install -d -m 755 -o ${zookeeper_user} -g ${zookeeper_group} ${zookeeper_logdir}
|
|
}
|
|
|
|
run_rc_command "$1"
|