#!/bin/sh # $FreeBSD: head/devel/zookeeper/files/zookeeper.in 405460 2016-01-07 15:42:56Z skreuzer $ # # 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%%} 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} ${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"