Skip to content

Instantly share code, notes, and snippets.

@superscott
Created September 12, 2014 00:27
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 12 You must be signed in to fork a gist
  • Save superscott/a1c67871cdd54b0c8693 to your computer and use it in GitHub Desktop.
Save superscott/a1c67871cdd54b0c8693 to your computer and use it in GitHub Desktop.
Simple Kafka Ubuntu init.d Startup Script
DAEMON_PATH=/opt/kafka/bin
DAEMON_NAME=kafka
# Check that networking is up.
#[ ${NETWORKING} = "no" ] && exit 0
PATH=$PATH:$DAEMON_PATH
# See how we were called.
case "$1" in
start)
# Start daemon.
echo "Starting $DAEMON_NAME";
nohup $DAEMON_PATH/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
;;
stop)
# Stop daemons.
echo "Shutting down $DAEMON_NAME";
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
kill -9 $pid
else
echo "Kafka was not Running"
fi
;;
restart)
$0 stop
sleep 2
$0 start
;;
status)
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print $1}'`
if [ -n "$pid" ]
then
echo "Kafka is Running as PID: $pid"
else
echo "Kafka is not Running"
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
@Aamir-Fayaz
Copy link

not working

Copy link

ghost commented Nov 16, 2015

Working fine, but daemon starts as root user.

@badmalloc
Copy link

Thanks, working fine. If someone wants to out log form kafka than remove -daemon flag and add output to > /var/log/kafka/kafka.log 2>&1 &

@pyth0nic
Copy link

pyth0nic commented May 2, 2016

Works nicely, cheers!

@sgermain06
Copy link

sgermain06 commented Sep 28, 2016

Might want to update that DAEMON_PATH variable to remove the /bin at the end and use the same variable on the config path. My installation of Kafka isn't in /opt/kafka, it's in /usr/local/kafka. This wasn't working because it's trying to start the daemon with the wrong path for the configs. I'm sure a lot of people following install guides online have their Kafka installs in that same path.

@ranjeetranjan
Copy link

I have configured successfully but it did not start on startup.

@johnkjohansen-clout
Copy link

Don't forget that the init.d script alone won't cause automated start up. Once you have the script in the right place, you need to use chkconfig or sysv-rc-conf to turn ot on for the appropriate run levels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment