Ottomata has uploaded a new change for review.
https://gerrit.wikimedia.org/r/83137
Change subject: Updating kafka script and init scripts with recent changes in
Kafka bin/*.sh scripts from 0.8 branch.
......................................................................
Updating kafka script and init scripts with recent changes in Kafka bin/*.sh
scripts from 0.8 branch.
Change-Id: I4b92b94a71efdd03970b17679274386b512c8b50
---
M debian/bin/kafka
M debian/kafka.default
M debian/kafka.init
M debian/kafka.kafka-mirror.default
M debian/kafka.kafka-mirror.init
5 files changed, 114 insertions(+), 73 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/debs/kafka
refs/changes/37/83137/1
diff --git a/debian/bin/kafka b/debian/bin/kafka
index db6ed6b..7bf203c 100755
--- a/debian/bin/kafka
+++ b/debian/bin/kafka
@@ -9,6 +9,7 @@
SCRIPT_NAME=$(basename "$0")
KAFKA_CONFIG=${KAFKA_CONFIG:-/etc/kafka}
+LOG_DIR=${LOG_DIR:-/var/log/kafka}
USAGE="Usage:
@@ -44,23 +45,26 @@
$SCRIPT_NAME zookeeper-shell [opts]
Environment Variables:
- KAFKA_CONFIG - location of Kafka config files. Default: /etc/kafka
- JMX_PORT - Set this to expose JMX. This is set by default for brokers
and producers.
-
-NOTE: the *-start and *-stop commands should not be used for production. They
-are maintained here as they can be helpful for debugging and troubleshooting
new
-Kafka Broker setups.
-
+ KAFKA_CONFIG - location of Kafka config files. Default:
/etc/kafka
+ JMX_PORT - Set this to expose JMX. This is set by default
for brokers and producers.
+ KAFKA_JVM_PERFORMANCE_OPTS - Any special JVM perfomance options. This is
set by default.
+ KAFKA_HEAP_OPTS - Any special JVM memory heap options. This is
set by default.
+ KAFKA_LOG4J_OPTS - Any log4j options. Especially
-Dlog4j.configuration. This is set by default.
+ KAFKA_OPTS - Any extra options you want to pass.
"
usage() { echo "${USAGE}"; }
-# Builds CLASSPATH and execs $1 as a java class.
+# Builds CLASSPATH and execs java with appropriate main class
kafka_run_class() {
if [ $# -lt 1 ]; then
echo "USAGE: $0 classname [opts]"
exit 1
+ fi
+
+ if [ -z "$SCALA_VERSION" ]; then
+ SCALA_VERSION=2.8.0
fi
# if these were not yet set (by user or defaults file),
@@ -72,8 +76,13 @@
KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS
-Dcom.sun.management.jmxremote.port=$JMX_PORT "
fi
+ # Log4j settings
+ if [ -z "$KAFKA_LOG4J_OPTS" ]; then
+
KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$KAFKA_CONFIG/tools-log4j.properties"
+ fi
+
if [ -z "$KAFKA_OPTS" ]; then
- KAFKA_OPTS="-Xmx512M -server
-Dlog4j.configuration=file:$KAFKA_CONFIG/log4j.properties"
+ KAFKA_OPTS=""
fi
if [ -z "$JAVA_HOME" ]; then
@@ -82,11 +91,30 @@
JAVA="$JAVA_HOME/bin/java"
fi
+ # Memory options
+ if [ -z "$KAFKA_HEAP_OPTS" ]; then
+ KAFKA_HEAP_OPTS="-Xmx256M"
+ fi
+
+ # JVM performance options
+ if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
+ KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
-XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC"
+ fi
+
+ # GC options
+ GC_FILE_SUFFIX='-gc.log'
+ GC_LOG_FILE_NAME=''
+ if [ "$1" = "daemon" ] && [ -z "$KAFKA_GC_LOG_OPTS"] ; then
+ shift
+ GC_LOG_FILE_NAME=$1$GC_FILE_SUFFIX
+ shift
+ KAFKA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps "
+ fi
+
# Setting the classpath to all the needed dependencies.
CLASSPATH=$CLASSPATH:/usr/share/java/scala-library.jar:/usr/share/java/jetty.jar:/usr/share/java/jetty-util.jar:/usr/share/java/zookeeper.jar:/usr/share/java/velocity-1.7.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/servlet-api-2.5.jar:/usr/share/java/jsp-api-2.1.jar:/usr/share/java/qdox.jar:/usr/share/java/paranamer.jar:/usr/share/java/oro.jar:/usr/share/java/objenesis.jar:/usr/share/java/log4j-1.2-1.2.16.jar:/usr/share/java/junit4.jar:/usr/share/java/joda-time.jar:/usr/share/java/jets3t.jar:/usr/share/java/jackson-core.jar:/usr/share/java/jackson-mapper.jar:/usr/share/java/hsqldb.jar:/usr/share/java/commons-cli.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-collections.jar:/usr/share/java/commons-compress.jar:/usr/share/java/commons-el.jar:/usr/share/java/commons-httpclient.jar:/usr/share/java/commons-io.jar:/usr/share/java/commons-lang.jar:/usr/share/java/commons-logging.jar:/usr/share/java/commons-net.jar:/usr/share/java/cglib.jar:/usr/share/java/asm3.jar:/usr/share/java/snappy-java-1.0.4.1.jar:/usr/share/java/jasper-runtime-5.5.12.jar:/usr/share/java/jsp-api-2.1-6.1.14.jar:/usr/share/java/avro-1.4.0.jar:/usr/share/java/kfs-0.3.jar:/usr/share/java/jsp-2.1-6.1.14.jar:/usr/share/java/scalatest-1.2.jar:/usr/share/java/paranamer-ant-2.2.jar:/usr/share/java/paranamer-generator-2.2.jar:/usr/share/java/pig-0.8.0.jar:/usr/share/java/zkclient-0.3.jar:/usr/share/java/easymock-3.0.jar:/usr/share/java/jasper-compiler-5.5.12.jar:/usr/share/java/hadoop-core-0.20.2.jar:/usr/share/java/xmlenc-0.52.jar:/usr/share/java/jopt-simple-3.2.jar:/usr/share/kafka/kafka.jar:/usr/share/kafka/hadoop-consumer.jar:/usr/share/kafka/hadoop-producer.jar:/usr/share/kafka/kafka-kafka-examples.jar:/usr/share/kafka/kafka-perf.jar:/usr/share/java/metrics-annotation-2.2.0.jar:/usr/share/java/metrics-core-2.2.0.jar
- # echo $JAVA $KAFKA_OPTS $KAFKA_JMX_OPTS -cp $CLASSPATH $@
- $JAVA $KAFKA_OPTS $KAFKA_JMX_OPTS -cp $CLASSPATH $@
+ exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS
$KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
}
@@ -100,14 +128,14 @@
cmd_console_producer() {
export JMX_PORT=${JMX_PORT:-9990}
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M"}
kafka_run_class kafka.producer.ConsoleProducer $@
}
cmd_console_consumer() {
- export KAFKA_OPTS="-Xmx512M -server -Dcom.sun.management.jmxremote
-Dlog4j.configuration=file:${KAFKA_CONFIG}/kafka-console-consumer-log4j.properties"
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M"}
kafka_run_class kafka.consumer.ConsoleConsumer $@
}
-
cmd_consumer_shell() {
kafka_run_class kafka.tools.ConsumerShell $@
@@ -124,13 +152,14 @@
cmd_replay_log_producer() {
export JMX_PORT=${JMX_PORT:-9992}
- export KAFKA_OPTS="-Xmx512M -server -Dcom.sun.management.jmxremote
-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"
kafka_run_class kafka.tools.ReplayLogProducer $@
}
cmd_mirror_maker() {
export JMX_PORT=${JMX_PORT:-9993}
- kafka_run_class kafka.tools.MirrorMaker $@
+ export
KAFKA_LOG4J_OPTS=${KAFKA_LOG4J_OPTS:-"-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"}
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx1G -Xms1G"}
+ kafka_run_class daemon kafkaMirror kafka.tools.MirrorMaker $@
}
cmd_consumer_offset_checker() {
@@ -154,22 +183,28 @@
}
cmd_producer_perf_test() {
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M"}
kafka_run_class kafka.perf.ProducerPerformance $@
}
cmd_consumer_perf_test() {
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M"}
kafka_run_class kafka.perf.ConsumerPerformance $@
}
cmd_simple_consumer_perf_test() {
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M"}
kafka_run_class kafka.tools.SimpleConsumerPerformance $@
}
cmd_server_start() {
# default server.properties to $KAFKA_CONFIG/server.properties
- server_properties=${1:-${KAFKA_CONFIG}/server.properties}
+ server_properties=${1:-"${KAFKA_CONFIG}/server.properties"}
export JMX_PORT=${JMX_PORT:-9999}
- kafka_run_class kafka.Kafka "${server_properties}"
+ export
KAFKA_LOG4J_OPTS=${KAFKA_LOG4J_OPTS:-"-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"}
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx1G -Xms1G"}
+
+ kafka_run_class daemon kafkaServer kafka.Kafka "${server_properties}"
}
cmd_server_stop() {
@@ -178,9 +213,13 @@
cmd_zookeeper_start() {
# default zookeeper.properties to $KAFKA_CONFIG/zookeeper.properties
+ zookeeper_properties=${1:-"${KAFKA_CONFIG}/zookeeper.properties"}
+
export JMX_PORT=${JMX_PORT:-9998}
- zookeeper_properties=${1:-${KAFKA_CONFIG}/zookeeper.properties}
- kafka_run_class org.apache.zookeeper.server.quorum.QuorumPeerMain
${zookeeper_properties}
+ export
KAFKA_LOG4J_OPTS=${KAFKA_LOG4J_OPTS:-"-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"}
+ export KAFKA_HEAP_OPTS=${KAFKA_HEAP_OPTS:-"-Xmx512M -Xms512M"}
+
+ kafka_run_class daemon zookeeper
org.apache.zookeeper.server.quorum.QuorumPeerMain "${zookeeper_properties}"
}
cmd_zookeeper_stop() {
@@ -249,4 +288,3 @@
function_name=$(echo "${command}" | tr - _)
# call the command function
"cmd_$function_name" "$@"
-
diff --git a/debian/kafka.default b/debian/kafka.default
index f2d406a..704f3fd 100755
--- a/debian/kafka.default
+++ b/debian/kafka.default
@@ -1,16 +1,19 @@
# whether to allow init.d script to start a kafka broker ("yes", "no")
KAFKA_START=no
-# The default JMX_PORT for Kafka Brokers is 9999.
-# Set JMX_PORT to something else to override this.
-# JMX_PORT=9999
-
-# JMX options
-KAFKA_JMX_OPTS=${KAFKA_JMX_OPTS:="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false"}
-
-# Memory sizes, and logging configuration
-KAFKA_OPTS=${KAFKA_OPTS:="-Xmx512M -server
-Dlog4j.configuration=file:/etc/kafka/log4j.properties"}
-
# User and group to run as
KAFKA_USER=kafka
KAFKA_GROUP=kafka
+KAFKA_CONFIG=/etc/kafka
+
+# The default JMX_PORT for Kafka Brokers is 9999.
+# Set JMX_PORT to something else to override this.
+#JMX_PORT=9999
+#KAFKA_JMX_OPTS=${KAFKA_JMX_OPTS:="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false"}
+
+# Memory sizes, and logging configuration
+#KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$KAFKA_CONFIG/log4j.properties"
+#KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
-XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC"
+#KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
+#KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"
+#KAFKA_OPTS=""
diff --git a/debian/kafka.init b/debian/kafka.init
index 221c353..3cde41e 100755
--- a/debian/kafka.init
+++ b/debian/kafka.init
@@ -40,20 +40,22 @@
. /etc/default/rcS
fi
-# The following variables can be overwritten in $DEFAULT
-
+# # The following variables can be overwritten in $DEFAULT
+#
# Run kafka as this user ID and group ID
KAFKA_USER=kafka
KAFKA_GROUP=kafka
+
+KAFKA_CONFIG=/etc/kafka
KAFKA_START=yes
JDK_DIRS="/usr/lib/jvm/default-java /usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-1.5.0-sun /usr/lib/j2sdk1.5-sun /usr/lib/j2sdk1.5-ibm"
# Look for the right JVM to use
for jdir in $JDK_DIRS; do
- if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
- JAVA_HOME="$jdir"
- fi
+ if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
+ JAVA_HOME="$jdir"
+ fi
done
export JAVA_HOME
@@ -71,32 +73,26 @@
. "$DEFAULT"
fi
-# Setting the classpath to all the needed dependencies.
-CLASSPATH=$CLASSPATH:/usr/share/java/scala-library.jar:/usr/share/java/jetty.jar:/usr/share/java/jetty-util.jar:/usr/share/java/zookeeper.jar:/usr/share/java/velocity-1.7.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/servlet-api-2.5.jar:/usr/share/java/jsp-api-2.1.jar:/usr/share/java/qdox.jar:/usr/share/java/paranamer.jar:/usr/share/java/oro.jar:/usr/share/java/objenesis.jar:/usr/share/java/log4j-1.2-1.2.16.jar:/usr/share/java/junit4.jar:/usr/share/java/joda-time.jar:/usr/share/java/jets3t.jar:/usr/share/java/jackson-core.jar:/usr/share/java/jackson-mapper.jar:/usr/share/java/hsqldb.jar:/usr/share/java/commons-cli.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-collections.jar:/usr/share/java/commons-compress.jar:/usr/share/java/commons-el.jar:/usr/share/java/commons-httpclient.jar:/usr/share/java/commons-io.jar:/usr/share/java/commons-lang.jar:/usr/share/java/commons-logging.jar:/usr/share/java/commons-net.jar:/usr/share/java/cglib.jar:/usr/share/java/asm3.jar:/usr/share/java/snappy-java-1.0.4.1.jar:/usr/share/java/jasper-runtime-5.5.12.jar:/usr/share/java/jsp-api-2.1-6.1.14.jar:/usr/share/java/avro-1.4.0.jar:/usr/share/java/kfs-0.3.jar:/usr/share/java/jsp-2.1-6.1.14.jar:/usr/share/java/scalatest-1.2.jar:/usr/share/java/paranamer-ant-2.2.jar:/usr/share/java/paranamer-generator-2.2.jar:/usr/share/java/pig-0.8.0.jar:/usr/share/java/zkclient-0.3.jar:/usr/share/java/easymock-3.0.jar:/usr/share/java/jasper-compiler-5.5.12.jar:/usr/share/java/hadoop-core-0.20.2.jar:/usr/share/java/xmlenc-0.52.jar:/usr/share/java/jopt-simple-3.2.jar:/usr/share/kafka/kafka.jar:/usr/share/kafka/hadoop-consumer.jar:/usr/share/kafka/hadoop-producer.jar:/usr/share/kafka/kafka-kafka-examples.jar:/usr/share/kafka/kafka-perf.jar:/usr/share/java/metrics-annotation-2.2.0.jar:/usr/share/java/metrics-core-2.2.0.jar
# Define other required variables
KAFKA_PID="/var/run/$NAME.pid"
+DAEMON="${JAVA_HOME}/bin/java"
kafka_sh() {
# Escape any double quotes in the value of JAVA_OPTS
JAVA_OPTS="$(echo $JAVA_OPTS | sed 's/\"/\\\"/g')"
- JMX_PORT=${JMX_PORT:-9999}
- KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS
-Dcom.sun.management.jmxremote.port=$JMX_PORT"
+ KAFKA_OPTS="${KAFKA_OPTS} ${JAVA_OPTS}"
- # Define the command to run kafka as a daemon
- # set -a tells sh to export assigned variables to spawned shells.
- KAFKA_ARGS="$JAVA_OPTS \
- $KAFKA_OPTS \
- $KAFKA_JMX_OPTS \
- -cp $CLASSPATH \
- kafka.Kafka /etc/kafka/server.properties"
+ # Export Kafka environment variables from $DEFAULT file so
+ # /usr/sbin/kafka will recognize them
+ export KAFKA_CONFIG JMX_PORT KAFKA_JMX_OPTS SCALA_VERSION
KAFKA_JVM_PERFORMANCE_OPTS KAFKA_HEAP_OPTS KAFKA_LOG4J_OPTS KAFKA_OPTS
# Run as a daemon
set +e
start-stop-daemon --start -b -u "$KAFKA_USER" -g "$KAFKA_GROUP" \
-c "$KAFKA_USER" -m -p "$KAFKA_PID" \
- -x "$JAVA_HOME/bin/java" -- $KAFKA_ARGS
+ -x "/usr/sbin/kafka" -- "server-start"
"${KAFKA_CONFIG}/server.properties"
status="$?"
set +a -e
return $status
@@ -116,13 +112,13 @@
log_daemon_msg "Starting $DESC" "$NAME"
if start-stop-daemon --test --start --pidfile "$KAFKA_PID" \
- --user $KAFKA_USER --exec "$JAVA_HOME/bin/java" \
+ --user $KAFKA_USER --exec "${JAVA_HOME}/bin/java" \
>/dev/null; then
kafka_sh start
sleep 5
if start-stop-daemon --test --start --pidfile "$KAFKA_PID" \
- --user $KAFKA_USER --exec "$JAVA_HOME/bin/java" \
+ --user $KAFKA_USER --exec "${JAVA_HOME}/bin/java" \
>/dev/null; then
if [ -f "$KAFKA_PID" ]; then
rm -f "$KAFKA_PID"
@@ -161,7 +157,7 @@
status)
set +e
start-stop-daemon --test --start --pidfile "$KAFKA_PID" \
- --user $KAFKA_USER --exec "$JAVA_HOME/bin/java" \
+ --user $KAFKA_USER --exec "${JAVA_HOME}/bin/java" \
>/dev/null 2>&1
if [ "$?" = "0" ]; then
@@ -186,7 +182,7 @@
;;
try-restart)
if start-stop-daemon --test --start --pidfile "$KAFKA_PID" \
- --user $KAFKA_USER --exec "$JAVA_HOME/bin/java" \
+ --user $KAFKA_USER --exec "${JAVA_HOME}/bin/java" \
>/dev/null; then
$0 start
fi
diff --git a/debian/kafka.kafka-mirror.default
b/debian/kafka.kafka-mirror.default
index bf79382..a8ca1e9 100644
--- a/debian/kafka.kafka-mirror.default
+++ b/debian/kafka.kafka-mirror.default
@@ -1,23 +1,27 @@
# whether to allow init.d script to start a Kafka MirrorMaker daemon ("yes",
"no")
KAFKA_MIRROR_START=no
-# The default JMX_PORT for Kafka Mirror Makers is 9993.
-# Set JMX_PORT to something else to override this.
-# JMX_PORT=9993
-
-# JMX options
-KAFKA_JMX_OPTS=${KAFKA_JMX_OPTS:="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false"}
-
-# Memory sizes, and logging configuration
-KAFKA_OPTS=${KAFKA_OPTS:="-Xmx512M -server
-Dlog4j.configuration=file:/etc/kafka/log4j.properties"}
-
# User and group to run as
KAFKA_USER=kafka
KAFKA_GROUP=kafka
+KAFKA_CONFIG=/etc/kafka
+
+# The default JMX_PORT for Kafka MirrorMaker is 9993.
+# Set JMX_PORT to something else to override this.
+#JMX_PORT=9993
+#KAFKA_JMX_OPTS=${KAFKA_JMX_OPTS:="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false"}
+
+# Memory sizes, and logging configuration
+#KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$KAFKA_CONFIG/log4j.properties"
+#KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
-XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC"
+#KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"
+#KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties"
+#KAFKA_OPTS=""
#
# MirrorMaker options:
#
+
# Set this to a space separated list of consumer.properties files.
# By default, /etc/init.d/kafka-mirror will use any files that match
# /etc/kafka/mirror/consumer.*
diff --git a/debian/kafka.kafka-mirror.init b/debian/kafka.kafka-mirror.init
index c0c54b3..6097772 100644
--- a/debian/kafka.kafka-mirror.init
+++ b/debian/kafka.kafka-mirror.init
@@ -119,20 +119,20 @@
kafka_mirror_sh() {
# Escape any double quotes in the value of JAVA_OPTS
JAVA_OPTS="$(echo $JAVA_OPTS | sed 's/\"/\\\"/g')"
- JMX_PORT=${JMX_PORT:-9993}
- KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS
-Dcom.sun.management.jmxremote.port=$JMX_PORT"
+ KAFKA_OPTS="${KAFKA_OPTS} ${JAVA_OPTS}"
+
+ # Export Kafka environment variables from $DEFAULT file so
+ # /usr/sbin/kafka will recognize them
+ export KAFKA_CONFIG JMX_PORT KAFKA_JMX_OPTS SCALA_VERSION
KAFKA_JVM_PERFORMANCE_OPTS KAFKA_HEAP_OPTS KAFKA_LOG4J_OPTS KAFKA_OPTS
+
# Define the command to run kafka as a daemon
# set -a tells sh to export assigned variables to spawned shells.
- KAFKA_MIRROR_ARGS="$JAVA_OPTS \
- $KAFKA_OPTS \
- $KAFKA_JMX_OPTS \
- -cp $CLASSPATH \
- kafka.tools.MirrorMaker \
- --num.streams $KAFKA_MIRROR_NUM_STREAMS \
- --num.producers $KAFKA_MIRROR_NUM_PRODUCERS \
- --queue.size $KAFKA_MIRROR_QUEUE_SIZE \
- --producer.config $KAFKA_MIRROR_PRODUCER_CONFIG "
+ KAFKA_MIRROR_ARGS="
+--num.streams $KAFKA_MIRROR_NUM_STREAMS \
+--num.producers $KAFKA_MIRROR_NUM_PRODUCERS \
+--queue.size $KAFKA_MIRROR_QUEUE_SIZE \
+--producer.config $KAFKA_MIRROR_PRODUCER_CONFIG "
if [ -n "$KAFKA_MIRROR_WHITELIST" ]; then
KAFKA_MIRROR_ARGS="$KAFKA_MIRROR_ARGS --whitelist
'$KAFKA_MIRROR_WHITELIST' "
@@ -150,7 +150,7 @@
start-stop-daemon --start -b -u "$KAFKA_USER" -g "$KAFKA_GROUP" \
-c "$KAFKA_USER" -m -p "$KAFKA_MIRROR_PID" \
- -x "$JAVA_HOME/bin/java" -- $KAFKA_MIRROR_ARGS
+ -x "/usr/sbin/kafka" -- "mirror-maker" "${KAFKA_MIRROR_ARGS}"
status="$?"
set +a -e
return $status
--
To view, visit https://gerrit.wikimedia.org/r/83137
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4b92b94a71efdd03970b17679274386b512c8b50
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/kafka
Gerrit-Branch: debian
Gerrit-Owner: Ottomata <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits