mirror of
https://git.freebsd.org/ports.git
synced 2025-06-27 23:50:30 -04:00
Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. WWW: https://kafka.apache.org/ PR: 220793 Submitted by: timp87@gmail.com
74 lines
1.9 KiB
Bash
74 lines
1.9 KiB
Bash
#!/bin/sh
|
|
# $FreeBSD$
|
|
#
|
|
# PROVIDE: kafka
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add kafka_enable="YES" to /etc/rc.conf to enable Kafka:
|
|
#
|
|
# Additional variables you can define are:
|
|
#
|
|
# kafka_user: Username to run Kafka
|
|
# Default: %%USERS%%
|
|
# kafka_group: Groupname to run Kafka
|
|
# Default: %%GROUPS%%
|
|
# kafka_config: Configuration file to run Kafka
|
|
# Default: %%ETCDIR%%/server.properties
|
|
# kafka_log4jprofile: Profile for Kafka logging
|
|
# Default: %%ETCDIR%%/log4j.properties
|
|
# kafka_logdir: Directory to store Kafka logs
|
|
# Default: %%KAFKA_LOGDIR%%
|
|
# kafka_jvmopts: Options passed to JVM to start Kafka
|
|
# Default: None
|
|
# kafka_pidfile: Full path of the Kafka process PID file
|
|
# Default: %%KAFKA_RUNDIR%%/kafka.pid
|
|
# kafka_outfile: File to store Kafka's stdout and stderr
|
|
# Default: $kafka_logdir/kafkaServer.out
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=kafka
|
|
rcvar=kafka_enable
|
|
|
|
load_rc_config "${name}"
|
|
|
|
: ${kafka_enable:=NO}
|
|
: ${kafka_user:=%%USERS%%}
|
|
: ${kafka_group:=%%GROUPS%%}
|
|
: ${kafka_config:=%%ETCDIR%%/server.properties}
|
|
: ${kafka_log4jpropfile:=%%ETCDIR%%/log4j.properties}
|
|
: ${kafka_logdir:=%%KAFKA_LOGDIR%%}
|
|
: ${kafka_jvmopts:=}
|
|
: ${kafka_outfile:=$kafka_logdir/kafkaServer.out}
|
|
: ${kafka_pidfile:=%%KAFKA_RUNDIR%%/kafka.pid}
|
|
|
|
JAVA=%%JAVA%%
|
|
|
|
CLASSPATH=":%%DATADIR%%/libs/*"
|
|
|
|
kafka_logopts="-Dkafka.logs.dir=${kafka_logdir} -Dlog4j.configuration=file:${kafka_log4jpropfile}"
|
|
kafka_main="$kafka_jvmopts $kafka_logopts -cp $CLASSPATH"
|
|
pidfile=${kafka_pidfile}
|
|
procname=${JAVA}
|
|
required_files="${kafka_config} ${kafka_log4jpropfile}"
|
|
|
|
daemon_head=""
|
|
daemon_tail=" > $kafka_outfile 2>&1 < /dev/null"
|
|
|
|
if [ -z $kafka_outfile ]; then
|
|
daemon_head="-f"
|
|
daemon_tail=""
|
|
fi
|
|
|
|
command="/usr/sbin/daemon"
|
|
command_args="${daemon_head} -p ${pidfile} ${JAVA} ${kafka_main} kafka.Kafka ${kafka_config} ${daemon_tail}"
|
|
|
|
start_precmd="kafka_init"
|
|
|
|
kafka_init()
|
|
{
|
|
chown ${kafka_user}:${kafka_group} ${pidfile%/*} ${kafka_logdir} ${kafka_outfile}
|
|
}
|
|
|
|
run_rc_command "$1"
|