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

Reply via email to